Program Zadanie;
Type matr=array[1..5,1..5] of real;
posl=array[1..5] of real;
Var a:matr;
b: posl;
i,j:integer;
s:real;
f1,f2:text;
procedure sum(var a:matr; i:integer);
Var j:integer;
s:real;
begin
s:=0;
for j:=1 to 5 do
s:=s+a[i,j];
end;
begin
assign(f1,'ifile.txt');
assign(f2,'vfile.txt');
reset(f1);
rewrite(f2);
for i:=1 to 5 do
for j:=1 to 5 do
read(f1,a[i,j]);
readln(f1);
for i:=1 to 5 do
read(f1,b);
for i:=1 to 5 do
begin
sum(a,s);
writeln(f2,' ':25,'results');
writeln(f2);
if s<b then
b:=s;
writeln(f2,b:4:2);
end;
close(f1);
close(f2);
end.
Сравнение и присвоение в матрице и последовательности
условие: дана матрица А 5х5 и последовательность B из 5 элементов. Если для каждой строки А сумма ее элементов меньше соответствующего элемента последовательности B, то присвоить всем элементам последовательности значения по правилу b:=s;
вот такой код у меня получился:
Код:
выдается type dismatch. не пойму почему... нужно вывести последовательность B в выходной файл...
пожалуйста, подскажите, что исправить, чтобы процедура работала
[COLOR="Red"]для оформления кода используй тэги код и читай правила форума.[/COLOR]
ну а потом зачем вы вызываете sum(a,s); s - у вас real _) - кажется опечатка закралась