23.05.2019, 02:10 | #1 (permalink) |
Новичок
Регистрация: 23.05.2019
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с матрицей
|
23.05.2019, 02:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Некоторые темы по содержанию очень напоминают вашу тему Проблема с матрицей? Проблемы с матрицей на ноуте Помогите найти USB-микроскоп c матрицей типа CCD Помогите с матрицей Помогите пожалуйста с квадратной матрицей в Паскале! |
23.05.2019, 02:11 | #2 (permalink) |
Новичок
Регистрация: 23.05.2019
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Частично я сделал задание, но дальше не знаю как, помогите
uses crt; const n=12; var a:array[1..n,1..n] of byte; i,j:byte; s:integer; f:text; begin clrscr; randomize; assign(f,'output.txt'); rewrite(f); writeln('Матрица'); writeln(f,'Matrica'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(101); write(a[i,j]:3); write(f,a[i,j]:3); end; writeln; writeln(f); end; writeln('Суммы по столбцам'); writeln(f,'Summy po stolbcam'); for j:=1 to n do begin s:=0; for i:=1 to n do s:=s+a[i,j]; writeln(j:2,'=',s); writeln(f,j:2,'=',s); end; close(f); write('Результат записан в файл output.txt'); readkey end. |
23.05.2019, 10:32 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Помогаю.
Но прежде — одно замечание. Из задания я напрочь не понял пассаж про "отрицательные элементы": откуда их взять и куда вывести. Дело в том, что если предполагается вычитание максимального элемента КАЖДОГО ИЗ СТОЛБЦОВ из соответствующей суммы, то тут никаких отрицательных элементов не может появиться в принципе. Если же речь идёт о нахождении максимального элемента ВСЕЙ МАТРИЦЫ с последующим его вычитанием из сумм по столбцам, то тут появление отрицательных элементов хоть и возможно, но крайне маловероятно (например, если ВСЕ элементы столбца не превышают 8, а максимальный элемент — где-то в районе 100). Остановился на последнем варианте, хоть как-то осмысленном. Код:
uses crt; const n=12; var a:array[1..n,1..n] of byte; sums:array[1..n] of integer; i,j,max_el:byte; f:text; begin clrscr; randomize; assign(f,'output.txt'); rewrite(f); writeln('Matrix:'); writeln(f,'Matrix:'); max_el:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(101); if a[i,j]>max_el then max_el:=a[i,j]; write(a[i,j]:5); write(f,a[i,j]:5); end; writeln; writeln(f); end; writeln; writeln(f); writeln('Maximal element is ',max_el); writeln(f,'Maximal element is ',max_el); writeln; writeln(f); writeln('Column sums:'); writeln(f,'Column sums:'); for j:=1 to n do begin sums[j]:=0; for i:=1 to n do sums[j]:=sums[j]+a[i,j]; write(sums[j]:5); write(f,sums[j]:5); end; writeln; writeln(f); writeln; writeln(f); writeln('Negatives:'); writeln(f,'Negatives:'); for j:=1 to n do begin if (sums[j]-max_el)<0 then begin write((sums[j]-max_el):5); write(f,(sums[j]-max_el):5); end else begin write(' pos'); write(f,' pos'); end; end; close(f); writeln; writeln; writeln('Data is saved in output.txt'); readkey end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|