В строке матрицы, содержащей максимальный элемент, заменить все отрицательные числа нулями - Turbo Pascal
Формулировка задачи:
Добрый день! Подскажите, пожалуйста, что я сделала неправильно. Задание звучит так:
Сформировать двумерный массив F размером 4 x 8 с помощью генератора случайных чисел и вывести элементы массива на экран и в файл. В строке матрицы F, содержащей максимальный элемент, заменить все отрицательные числа нулями (оформить нахождение максимального элемента в виде функции). Вывести на экран и в файл номер этой строки и максимальный элемент.
После выполнения программы всегда пишет, что максимальный элемент в строке 4 и почему-то через раз заменяет отрицательные числа на нули(
Решение задачи: «В строке матрицы, содержащей максимальный элемент, заменить все отрицательные числа нулями»
textual
Листинг программы
uses crt; const m=4; n=8; type mass=array [1..m,1..n] of real; procedure matrix(var a:mass;var f:text); var i,j:byte; begin writeln('Исходная матрица'); writeln(f,'Matrix'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=-5+11*random; write(a[i,j]:6:2); write(f,a[i,j]:6:2); end; writeln; writeln(f); end; end; function max (a:mass;var s:byte):real; var i,j:byte; mx:real; begin mx:=a[1,1]; s:=1; for i:=1 to m do for j:=1 to n do if a[i,j]>mx then begin mx:=a[i,j]; s:=i; end; max:=mx; end; procedure preobr (var a:mass;var f:text); var i,j,s:byte; x:real; begin x:=max(a,s); writeln('Максимальный элемент=',x:0:2,' в строке ',s); writeln(f,'max=',x:0:2,' Nstr=',s); writeln('Измененная матрица'); writeln(f,'New matrix'); for i:=1 to m do begin for j:=1 to n do begin if(i=s)and(a[i,j]<0) then a[i,j]:=0; write(a[i,j]:6:2); write(f,a[i,j]:6:2); end; writeln; writeln(f); end; end; var c: text; f:mass; begin clrscr; assign (c,'text.txt'); {в папку с программмой} rewrite (c); randomize; matrix(f,c); preobr(f,c); readln; end.
Объяснение кода листинга программы
- В строке матрицы, содержащей максимальный элемент, заменить все отрицательные числа нулями.
- Исходная матрица.
- Вывести матрицу.
- Найти максимальное значение в матрице.
- Записать максимальное значение и его строку в текстовый файл.
- Заменить все отрицательные числа в строке нулями.
- Вывести измененную матрицу.
- Записать измененную матрицу в текстовый файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д