Задание 5. Использование процедур

 

Даны две вещественные матрицы А(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.

 

Результат работы:

Входной файл

 

Выходной файл

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: