Даны две вещественные матрицы А(7,7) и В(5,5). Из матрицы А сформировать одномерный массив С по правилу, а из матрицы В сформировать массив D по тому же правилу. Для ввода матрицы, формирования одномерных массивов и вывода одномерных массивов применить три PROCEDURE. При вводе матрицы и выводе одномерных массивов вывести на экран сообщения с указанием соответственно имени вводимой матрицы или имени выводимого одномерного массива.
Правило: Из сумм квадратов элементов четных столбцов.
Текст программы:
Program pr_5;
type mas=array[1..7,1..7] of integer;
mas2=array[1..3] of integer;
var
A,B: mas;
C,D: mas2;
Procedure FillArr(var a:mas; row, col: integer);
var i,j:integer;
begin
for i:= 1 to row do
for j:= 1 to col do readln(a[i,j]);
end;
Procedure ActArr(var a:mas; count1,count2: integer; b:mas2);
var i,j,S,k:integer;
begin
k:=1;
for j:=2 to count1 do
begin
S:=0;
for i:=1 to count2 do S:=S+sqr(a[i,j*2-2]);
b[k]:=S;
k:=k+1;
end;
end;
Procedure OutputArr(var a:mas2; col: integer);
var i:integer;
begin
for i:=1 to col do write(a[i]:5);
end;
begin
writeln('Vvod matrici A'); fillarr(A, 7, 7);
writeln('Vvod matrici B'); fillarr(B, 5, 5);
ActArr(A,4,7,C);
ActArr(B,3,5,D);
writeln('Massiv C');
OutputArr(C, 3); writeln;
writeln('Massiv D');
OutputArr(D,2);
readln;
end.
Результат работы:
Задание 6. Текстовый файл
Дан текстовый файл f. Преобразовать строки файла f по правилам. Преобразованные строки переписать в файл g.
Правило: Создать строку из символов, расположенных после первой запятой. Если запятых нет, то записать пустую строку.
Текст программы:
Program pr_6;
var
f,g:text;
s:string;
i,k:integer;
begin
assign(f,'C:\text.txt');
reset(f);
assign(g,'C:\text2.txt');
rewrite(g);
while not eof(f) do
begin
k:=0;
readln(f,s);
for i:=1 to length(s) do
begin
if s[i]=',' then
begin
k:=i+1;
break;
end;
end;
if k<>0 then
begin
for i:=k to length(s) do
begin
write(g,s[i]);
end;
writeln(g,'');
end
else
writeln(g,'');
end;
close(f);
close(g);
readln
end.
Результат работы:
Входной файл
Выходной файл