Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ОАиП(программа).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.14 Кб
Скачать

Задача 95

program pr95;

{

95. Дана действительная квадратная матрица порядка 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 do

for j:=n-i+1 to n 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.

Задача 96

program pr96;

{96. Дана действительная квадратная матрица порядка 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:=i to n-i+1 do

sum:=sum+a[i,j];

for i:=n downto (n div 2)+1 do

for j:=n-i+1 to i 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.

Задача 97

program pr97;

{97. Дана последовательность чисел a1, a2,..., an.

Каждый член этой последовательности кроме крайних заменить суммой соседних с ним членов.}

uses

crt;

var

i,n:byte;

max:integer;

a,b: 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;

b[1]:=a[1];

b[n]:=a[n];

for i:=2 to n-1 do

b[i]:=a[i-1]+a[i+1];

Writeln('Ishodnye dannye: ');

for i:=1 to n do

Writeln(i,'-i element: ',a[i]);

Writeln('Poluchennaia posledovatelnost:');

for i:=1 to n do

Writeln(i,'-i element: ',b[i]);

Readln;

end.