В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Elnarikys
Elnarikys
20.02.2020 07:20 •  Информатика

Дана действительная матрица размера m×n. получить одномерный массив, элементы которого равны количеством неотрицательных элементов в столбцах. вывести элементы полученного массива на экран и в типизированный дисковой файл f1. вычислить среднее арифмитическое значение элементов файла f1. вывести в файл f2 те элементы файла f1, которые не превышают найденного среднего. использовать при решении подпрограммы.

Показать ответ
Ответ:
Sashka1712
Sashka1712
07.10.2020 15:22
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
  var a:=MatrGen(m,n,(i,j)->(Random(9000)-4500)/100);
  Writeln('*** Исходная матрица ***');
  a.Println(7,2); Writeln(7*a.ColCount*'-');
  var b:=a.Cols.Select(c->c.Where(t->t>=0).Count).ToArray;
  if b.Length=0 then begin
    Writeln('В матрице все элементы отрицательные');
    Exit
    end;
  b.Println;
  var f1:file of integer;
  Assign(f1,'f1.bin'); Rewrite(f1);
  foreach var t in b do Write(f1,t);
  Reset(f1);
  var (s,k):=(0,0);
  var v:integer;
  while not Eof(f1) do begin
    Read(f1,v); s+=v; k+=1
    end;
  f1.Close;
  var avg:=s/k;
  var f2:file of real;
  Assign(f2,'f2.bin'); Rewrite(f2);
  var q:=a.ElementsByRow.Where(t->t<=avg);
  q.Println;
  foreach var c in q do Write(f2,c);
  f2.Close
end.

Пример
Количество строк и столбцов в матрице: 4 9
*** Исходная матрица ***
 -27.55  14.63  25.01  35.00  34.53 -24.49 -43.20  35.73  35.05
  -9.96 -40.27   6.45  43.42   4.31  21.48  17.16  40.35  -3.58
 -28.37 -11.17  32.04  26.07 -29.32 -24.20  -7.75  41.32   9.54
  34.89  37.10 -26.09  22.64  16.69 -28.75  19.16  22.66   7.52
---------------------------------------------------------------
1 2 3 4 3 1 2 4 3
-27.55 -24.49 -43.2 -9.96 -40.27 -3.58 -28.37 -11.17 -29.32 -24.2 -7.75 -26.09 -28.75

Дана действительная матрица размера m×n. получить одномерный массив, элементы которого равны количес
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота