
- •Задача 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
Задача 102
program pr102;
{102. Дана действительная квадратная матрица порядка n.
Найти сумму элементов, расположенных в заштрихованной части матрицы}
Type
tmas2=array [1..10,1..10] of real;
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;
fout:text;
sum: real;
begin
assign(fout,'L7_OUT.TXT');
append(fout);
for i:=1 to (n div 2) do
for j:=1 to i do
sum:=sum+a[i,j];
for i:=(n div 2)+1 to n do
for j:=1 to (n-i)+1 do
sum:=sum+a[i,j];
Writeln(fout,'summa =',sum);
close(fout);
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',n,a);
Sum(a);
end.
Задача 103
program pr103;
{103. Дан массив А, состоящий из n-натуральных чисел.
Найти наибольший общий делитель элементов массива.}
uses
crt;
var
i,n:byte;
k: integer;
a: array [1..100] of integer;
function Nod(a,b:integer):integer;
begin
while a<>b do
if a>b then
a:=a-b
else
b:=b-a;
Nod:=a;
end;
begin
clrscr;
Write('Vvedite dlinny massiva: ');
Read(n);
Writeln('Vvedite massiv:');
for i:=1 to n do
begin
Write(i,'-i element: ');
Readln(a[i]);
end;
k:=Nod(a[1],a[2]);
for i:=3 to n do
k:=nod(k,a[i]);
Writeln('Ishodnye dannye: ');
for i:=1 to n do
Writeln(i,'-i element: ',a[i]);
Writeln('NOD vseh elementov massiva=',k);
Readln;
end.
Задача 104
program pr104;
{104. Дан массив А, состоящий из n-натуральных чисел.
Выбрать элементы, встречающиеся более одного раза.}
uses
crt;
var
i,n:byte;
el: set of byte;
a: array [1..100] of integer;
s: string;
begin
clrscr;
Write('Vvedite dlinny massiva: ');
Read(n);
Writeln('Vvedite massiv:');
for i:=1 to n do
begin
Write(i,'-i element: ');
Readln(a[i]);
end;
s:='';
el:=[];
for i:=1 to n do
if a[i] in el then
s:=s+' '+IntToStr(a[i])
else
el:=el+[a[i]];
Writeln('Ishodnye dannye: ');
for i:=1 to n do
Writeln(i,'-i element: ',a[i]);
Writeln('Elementy povtoriayuschiesia bolee 1 raza:');
Write(s);
Readln;
end.
Задача 105
program pr105;
{105. Дан массив А, состоящий из n-натуральных чисел.
Определить максимальное число идущих подряд элементов, равных 1.}
uses
crt;
var
i,n:byte;
max,count:integer;
a: array [1..100] of integer;
begin
clrscr;
Write('Vvedite dlinny massiva: ');
Read(n);
Writeln('Vvedite massiv:');
for i:=1 to n do
begin
Write(i,'-i element: ');
Readln(a[i]);
end;
max:=0;
for i:=1 to n do
if a[i]=1 then
begin
inc(count);
if count>max then
max:=count;
end
else
count:=0;
Writeln('Ishodnye dannye: ');
for i:=1 to n do
Writeln(i,'-i element: ',a[i]);
Writeln('Max. kol-vo podriad iduschih 1 v massive= ',max);
Readln;
end.