Наибольший и наименьший


Дана матрица целых чисел. Найти наибольший и наименьший элемент матрицы и поменять их местами.

Program maxmin;
const n=4;m=4;
var
A:array [1..n,1..m] of real;
i,j,imin,jmin,imax,jmax:integer;
max,min:real;
begin
writeln;
for i:=1 to n do
for j:=1 to m do A[i,j]:=random(100000)/100;
max:=a[1,1];
imax:=1;
jmax:=1;
min:=a[1,1];
imin:=1;
jmin:=1;
for i:=1 to n do begin
writeln();
for j:=1 to m do begin
write(A[i,j]:5:2,’ ‘);
if max<a[i,j] then begin
max:=a[i,j];
imax:=i;
jmax:=j;
end;
if min>a[i,j] then begin
min:=a[i,j];
imin:=i;
jmin:=j;
end;
end;
end;
a[imin,jmin]:=max;
a[imax,jmax]:=min;
writeln();
for i:=1 to n do begin
writeln();
for j:=1 to m do write(A[i,j]:5:2,’ ‘);
end;
end.

Теги: , , ,

Найти новые книги в библиотеке


Файл комбинированного типа содержит список книг библиотеки, а именно: название книги, автора, год выпуска. Вывести на экран список тех книг, которые выданы после 2005 года.

Program 2005;
Type
bib = Record
name : String[50];
avtor: String[50];
god : integer;
End;
Var
f : file of bib;
p : bib;
ch:char;
b :boolean;
Begin
b:=false;
Assign(F,’D:\pascal\Test1.txt’);
try
reset(f);
except
b:=true;
writeln(’Nenaiden fail’);
rewrite(f);
{zapolnim}
writeln(’dobavim zapis? y/n’);
read(ch);
while upcase(ch)=’Y’ do
begin
writeln(’name - ‘);
Read(p.name);
writeln(’avtor - ‘);
Read(p.avtor);
writeln(’god - ‘);
read(p.god);
write(f,p);
writeln(’dobavim zapis? y/n’);
read(ch);
end;
end;
{4itaem}
if b then reset(f);
while not eof(f) do begin
read(f,p);
if p.god>2008 then writeln(p.name);
end;
close(f);
End.

Теги: , , , , , , ,