// PascalABC.NET 3.2, сборка 1383 от 09.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(5); Writeln(5*a.ColCount*'-'); Writeln('Сумма элементов массива: ', a.Rows.SelectMany(x->x).Sum) end.
For i:=1 to n do if a[i] > 0 then begin k:=k+1; sum:=sum+a[i] end; average:=sum/k;
(a - данный массив, sum - сумма всех положительных чисел, k - количество положительных чисел - n - индекс последнего элемента массива, i - переменная для цикла, average - переменная, сохраняющая численное значение) Запускаем цикл от 1 до n и перебираем все числа массива. Если i-тое число положительно, мы прибавляем его к sum, и увеличиваем k на 1, который сохраняет в себе количество положительных чисел массива. После завершения цикла, мы получаем k - количество положительных чисел, sum - сумма всех положительных чисел. Чтобы найти среднее арифметическое, делим сумму всех чисел на их количество. (Учитывайте, что переменная, сохраняющая среднее арифметическое должна иметь вещественный тип (real, double...)) Вот и всё. Если у вас возникают какие-то проблемы или ошибки в коде - оставьте комментарий. Если у вас проблемы с созданием массива (чтение массива с клавиатуры или создание массива со случайными числами) - опять же таки пишите:)
16 Кбайт / (256*512) = 16*2¹⁰ байт/(2⁸*2⁹)=2⁴*2¹⁰*8 бит / (2⁸*2⁹)=1 бит
Количество цветов = 2¹=2