
- •Задача 1
- •Задача 6
- •Задача 17
- •Задача 20
- •Задача 26
- •Задача 48
- •Задача 51
- •Задача 52
- •Задача 70
- •Задача 84
- •Задача 85
- •Задача 86
- •Задача 87
- •Задача 88
- •Задача 89
- •Задача 90
- •Задача 91
- •Задача 92
- •Задача 93
- •Задача 94
- •Задача 95
- •Задача 96
- •Задача 97
- •Задача 98
- •Задача 99
- •Задача 100
- •Задача 101
- •Задача 102
- •Задача 103
- •Задача 104
- •Задача 105
- •Задача 106
- •Задача 107
- •Задача 108
- •Задача 109
- •Задача 110
- •Задача 111
- •Задача 112
- •Задача 113
- •Задача 114
- •Задача 115
- •Задача 116
- •Задача 117
- •Задача 118
- •Задача 119
- •Задача 120
Задача 109
program pr109;
{109. Дана последовательность чисел a1, a2,..., an.
Найти два наибольших элемента последовательности.}
uses
crt;
var
i,n,mn:byte;
max1,max2:integer;
a: array [1..100] of integer;
begin
clrscr;
Write('Vvedite kolichestvo chlenov posledovatelnosti: ');
Read(n);
Writeln('Vvedite posledovatelnost:');
for i:=1 to n do
begin
Write(i,'-i element: ');
Readln(a[i]);
end;
max1:=a[1];
mn:=1;
for i:=2 to n do
if max1<a[i] then
begin
max1:=a[i];
mn:=i;
end;
if mn<>n-1 then
max2:=a[n-1]
else
max2:=a[n];
for i:=1 to n do
if (max2<a[i]) and (a[i]<>max1) then
max2:=a[i];
Writeln('Ishodnye dannye: ');
for i:=1 to n do
Writeln(i,'-i element: ',a[i]);
Writeln('1-oe max. chislo= ',max1);
Writeln('2-oe max. chislo= ',max2);
Readln;
end.
Задача 110
program pr110;
{110. Дана квадратная матрица А порядка n. Найти суммы элементов
тех строк матрицы, на главной диагонали которой стоят отрицательные элементы.}
Type
tmas2=array [1..10,1..10] of integer;
var
n:byte;
a:tmas2;
procedure VvodM(filename:string; Var a:tmas2);
var
fin:text;
i,j: byte;
begin
assign(fin,filename);
reset(fin);
Readln(fin,n);
for i:=1 to n do
for j:=1 to n do
read(fin,a[i,j]);
close(fin);
end;
procedure VivodM(filename:string; n:byte; a:tmas2);
var
fout:text;
i,j:byte;
begin
assign(fout,filename);
rewrite(fout);
writeln(fout,'Ishodnye dannye:');
for i:=1 to n do
begin
for j:=1 to n do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fout);
end;
procedure Sum(a:tmas2);
var
i,j:byte;
sum,sumobsh: integer;
fout:text;
begin
assign(fout,'L7_OUT.TXT');
append(fout);
sum:=0;
sumobsh:=0;
for i:=1 to n do
begin
for j:=1 to n do
if a[i,i]<0 then
sum:=sum+a[i,j];
if a[i,i]<0 then
begin
Writeln(fout,'Summa ',i,' stroki =',sum);
sumobsh:=sumobsh+sum;
end;
end;
Writeln(fout,'Summa vseh elementov strok s otr. el-ami na gl. diag. =',sumobsh);
close(fout);
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',n,a);
Sum(a);
end.
Задача 111
program pr111;
{111. Дана квадратная матрица А порядка n.
Найти сумму положительных элементов матрицы, стоящих под главной диагональю.}
Type
tmas2=array [1..10,1..10] of integer;
var
n:byte;
a:tmas2;
procedure VvodM(filename:string; Var a:tmas2);
var
fin:text;
i,j: byte;
begin
assign(fin,filename);
reset(fin);
Readln(fin,n);
for i:=1 to n do
for j:=1 to n do
read(fin,a[i,j]);
close(fin);
end;
procedure VivodM(filename:string; n:byte; a:tmas2);
var
fout:text;
i,j:byte;
begin
assign(fout,filename);
rewrite(fout);
writeln(fout,'Ishodnye dannye:');
for i:=1 to n do
begin
for j:=1 to n do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fout);
end;
procedure Sum(a:tmas2);
var
i,j:byte;
sum: integer;
fout:text;
begin
assign(fout,'L7_OUT.TXT');
append(fout);
sum:=0;
i:=1;
while i<=n do
begin
j:=1;
while j<i do
begin
if a[i,j]>0 then
sum:=sum+a[i,j];
j:=j+1;
end;
i:=i+1;
end;
Writeln(fout,'Summa =',sum);
close(fout);
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',n,a);
Sum(a);
end.