Страница 1 из 1

Ввод/вывод матрицы из файла

Добавлено: 13 дек 2008, 15:10
(kate)
Помогите решить, ребятки! оочень нужно.

Задание: Дана квадратная матрица A порядка k. Определить максимальный по модулю элемент каждой строки. Результаты записать в одномерный массив. Исходная матрица вводится из файла «matr.txt»; конечный результат записывается в файл «matr.res».

программа:

uses Crt;
var A:array[1..100,1..100] of integer;
B:array[1..100] of integer;
k,i,j,n,max:integer;
begin
clrscr;
randomize;
writeln('Vvedite razmernostb matricy k= ');
readln(k);
for i:=1 to k do
begin
for j:=1 to k do
begin
A[i,j]:= random(10);
write(' ',A[i,j],' ');
end;
writeln;
end;
n:=1;
for i:=1 to k do
begin
max:=A[i,1];
for j:=1 to k do
if a[i,j]>max then max:=A[i,j];
B[n]:=max;
n:=n+1;
end;
Writeln('Naibolshie: ');
for n:=1 to k do
write(' ',B[n],' ');
writeln;
readln;
end.

Re: Ввод/вывод матрицы из файла

Добавлено: 16 дек 2008, 12:16
Хыиуду
if a[i,j]>max then max:=A[i,j];
Как минимум if abs(a[i,j])>max then max:=abs(A[i,j]);
A[i,j]:= random(10); заменить на readln(f, A[i,j]). При этом, естественно, файл надо сначала заполнить вручную, потом привязать (assign), потом открыть на чтение (reset).
Writeln('Naibolshie: ');
for n:=1 to k do
write(' ',B[n],' ');
writeln;
тут, соответственно,
Writeln(f1,'Naibolshie: ');
for n:=1 to k do
write(f1,' ',B[n],' ');
write(f1, #13, #10);
При этом f1 тоже сначала привязывается (assign), потом открывается на запись (rewrite)