--- C# 7.3 ---
using System;
using System.Collections.Generic;
using System.Linq;
namespace CSLear
{
class Program
private const int Row = 5;
private const int Cols = 6;
static void Main(string[] args)
int[,] RandomArray = new int[Row, Cols];
ArrayRandomize(ref RandomArray, Row, Cols);
Console.WriteLine("Average for each Column:\n");
foreach (double Average in ColumAverage(RandomArray, Row, Cols))
Console.WriteLine(Average);
}
Console.WriteLine("Min-Max for each Row:\n");
foreach(var Pair in RowMinMax(RandomArray, Row, Cols))
Console.WriteLine($"Min: {Pair.Item1}:: Max: {Pair.Item2}");
Console.ReadKey();
public static IEnumerable<double> ColumAverage(int[,] Arr, int ArrRows, int ArrCols)
IList<int> Temp = new List<int>();
for (int i = 0; i < ArrCols; i++)
for (int j = 0; j < ArrRows; j++)
Temp.Add(Arr[j, i]);
yield return Temp.Average();
Temp.Clear();
public static IEnumerable<Tuple<int, int>> RowMinMax(int[,] Arr, int ArrRows, int ArrCols)
yield return new Tuple<int,int>(Temp.Min(), Temp.Max());
public static void ArrayRandomize(ref int[,] Arr, int ArrRows, int ArrCols)
Random r = new Random();
for (int i = 0; i < ArrRows; i++)
for (int j = 0; j < ArrCols; j++)
Arr[i, j] = r.Next(-99, 99);
Объяснение:
Количество символов: 200*50*80
Количество рисунков: 10
Параметры рисунка:
- ?
Находим информационный объем текста:
В условии не сказано, в какой кодировке записан текст, поэтому считаем как 1 байт.
[текста] = 200*50*80*1 = 800 000 байт.
Находим информационный объем рисунка:
i = log₂N = log₂16 = 4 бита
[рисунка] = K*i = 800*600*4 = 1 920 000 бит = 240 000 байт.
[рисунков] = [рисунка] * 10 = 2 400 000 байт.
Находим информационный объем книги:
= [текста] + [рисунков] = 800000 + 2400000 = 3200000 байт
= 3200000 байт = 3125 КБ ≈ 3,05 МБ
ответ: 3125 КБ (примерно 3,05 МБ)
--- C# 7.3 ---
using System;
using System.Collections.Generic;
using System.Linq;
namespace CSLear
{
class Program
{
private const int Row = 5;
private const int Cols = 6;
static void Main(string[] args)
{
int[,] RandomArray = new int[Row, Cols];
ArrayRandomize(ref RandomArray, Row, Cols);
Console.WriteLine("Average for each Column:\n");
foreach (double Average in ColumAverage(RandomArray, Row, Cols))
{
Console.WriteLine(Average);
}
Console.WriteLine("Min-Max for each Row:\n");
foreach(var Pair in RowMinMax(RandomArray, Row, Cols))
{
Console.WriteLine($"Min: {Pair.Item1}:: Max: {Pair.Item2}");
}
Console.ReadKey();
}
public static IEnumerable<double> ColumAverage(int[,] Arr, int ArrRows, int ArrCols)
{
IList<int> Temp = new List<int>();
for (int i = 0; i < ArrCols; i++)
{
for (int j = 0; j < ArrRows; j++)
{
Temp.Add(Arr[j, i]);
}
yield return Temp.Average();
Temp.Clear();
}
}
public static IEnumerable<Tuple<int, int>> RowMinMax(int[,] Arr, int ArrRows, int ArrCols)
{
IList<int> Temp = new List<int>();
for (int i = 0; i < ArrCols; i++)
{
for (int j = 0; j < ArrRows; j++)
{
Temp.Add(Arr[j, i]);
}
yield return new Tuple<int,int>(Temp.Min(), Temp.Max());
Temp.Clear();
}
}
public static void ArrayRandomize(ref int[,] Arr, int ArrRows, int ArrCols)
{
Random r = new Random();
for (int i = 0; i < ArrRows; i++)
{
for (int j = 0; j < ArrCols; j++)
{
Arr[i, j] = r.Next(-99, 99);
}
}
}
}
}
Объяснение:
Количество символов: 200*50*80
Количество рисунков: 10
Параметры рисунка:
K = 800×600N = 16 цветов- ?
Решение:Находим информационный объем текста:
В условии не сказано, в какой кодировке записан текст, поэтому считаем как 1 байт.
[текста] = 200*50*80*1 = 800 000 байт.
Находим информационный объем рисунка:
i = log₂N = log₂16 = 4 бита
[рисунка] = K*i = 800*600*4 = 1 920 000 бит = 240 000 байт.
[рисунков] = [рисунка] * 10 = 2 400 000 байт.
Находим информационный объем книги:
= [текста] + [рисунков] = 800000 + 2400000 = 3200000 байт
= 3200000 байт = 3125 КБ ≈ 3,05 МБ
ответ: 3125 КБ (примерно 3,05 МБ)