Архив за сентября 2009

Подпрограмма для обработки матрицы

Четверг, 10 Сен 2009

Написать подпрограмму обработки матриц. Подпрограмма должна создавать одномерный массив из максимальных элементов столбцов матрицы. Выполнить для 2 матриц различной размерности.

program 2matrici;
label start;
type aa=array[1..30,1..30] of real;
bb=array[1..30] of real;
var a:aa;
b:bb;
m,n,i,j,q:integer;
Procedure proc(var ap:aa; np,mp:integer; var bp:bb);
var ip,jp:integer;
max:real;
Begin
for jp:=1 to mp do
begin
bp[jp]:=ap[1,jp];
for ip:=1 to np do
begin
if ap[ip,jp]>bp[jp] then bp[jp]:=ap[ip,jp];
end;
end;
End;
BEGIN
start:
writeln(’Vvedite razmeri matrici (n-strok,m-stolbcov):’);
read(n,m);
writeln(’Vvedite matricu:’);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(a[i,j]);
end;
writeln;
end;
proc(a,n,m,b);
writeln(’Polucheni MAX elementi stolbcov:’);
for j:=1 to m do write(b[j]:5:2);
writeln;
writeln(’Nazgmite “1″ chtob prodolgit, “0″ -vihod’);
readln(q);
if q=1 then goto start;
readln;
end.

Перезапись символов из одного файла в другой

Четверг, 10 Сен 2009

Из символьного файла переписать в новый файл все символы, предшествующие первому пробелу в исходном файле. Закончить результирующий файл восклицательным знаком.

program iz-v;
var f,g: file of char;
ch: char;
n: word;
begin
assign(f,’z1.txt’); reset(f);
assign(g,’z2.txt’); rewrite(g);
n:=filepos(f);
seek(f,n);
while ch<>’ ‘ do
begin
seek(f,n);
read(f,ch);
write(g,ch);
inc(n);
end;
ch:=’!';
write(g,ch);
readln;
close(f); close(g);
end.