Программирование в среде Delphi. Часть 3. Файлы. Садовская О.Б. - 21 стр.

UptoLike

Составители: 

21
procedure TForm1.Button1Click(Sender: TObject);
var t, t1 : textfile; a : array of array of integer; n, m, i, j : byte;
begin
if not opendialog1.Execute then exit;
assignfile(t, opendialog1.filename); label1.Caption:=opendialog1.filename;
memo1.Lines.LoadFromFile(opendialog1.filename);
if not savedialog1.Execute then exit;
assignfile(t1, savedialog1.filename); label2.Caption:=savedialog1.filename;
reset(t); rewrite(t1);
readln(t, n, m); setlength(a, n, m); i:=0;
while not eof(t) do
begin
j:=0;
while not eoln(t) do
begin read(t, a[i,j]); inc(j) end;
inc(i); readln(t)
end;
for i:=0 to n-1 do for j:=0 to m-1 do
if a[i,j]<a[i,0] then a[i,j]:=0;
for i:=0 to n-1 do
begin
for j:=0 to m-1 do write(t1, a[i,j]:6); writeln(t1)
end;
closefile(t); closefile(t1);
memo2.Lines.LoadFromFile(savedialog1.filename);
end;
Задача 28. Дан текстовый файл , в первой строке которого запи-
саны два числа n и m, а в следующих строках прямоугольная
таблица целых чисел размером n× m. Заполнить целочисленный массив
размером n× m числами из этой таблицы . В каждой строке массива
найти максимальный элемент и поменять местами первый элемент
строки и максимальный. Полученный массив записать в новый тек-
стовый файл . Окно работающего приложения :
                                            21
       procedure TForm1.Button1Click(Sender: TObject);
       var t, t1 : textfile; a : array of array of integer; n, m, i, j : byte;
       begin
       if not opendialog1.Execute then exit;
       assignfile(t, opendialog1.filename); label1.Caption:=opendialog1.filename;
       memo1.Lines.LoadFromFile(opendialog1.filename);
       if not savedialog1.Execute then exit;
       assignfile(t1, savedialog1.filename); label2.Caption:=savedialog1.filename;
       reset(t); rewrite(t1);
       readln(t, n, m); setlength(a, n, m); i:=0;
       while not eof(t) do
       begin
       j:=0;
       while not eoln(t) do
       begin read(t, a[i,j]); inc(j) end;
       inc(i); readln(t)
       end;
       for i:=0 to n-1 do for j:=0 to m-1 do
       if a[i,j]