--- 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 байт.
Находим информационный объем книги:
=
[рисунков] +
[рисунков] = 800000 + 240000 = 1 040 000 байт
= 1 040 000 байт = 1015.625 КБ ≈ 1 МБ
ответ: 1 МБ (1 040 000 байт)
Поделитесь своими знаниями, ответьте на вопрос: