Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите исправить программу > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
Alexey Besfomiln
Условие задачи: Если в прямоугольной матрице все суммы элементов строк попадают на заданный отрезок, определить номер строки с максимальной суммой элементов, иначе определить номера строк, сумма элементов которых не попала на заданный отрезок.


Помогите исправить программу так, чтобы ввод матрицы 5 на 5 и границ отрезка c,b
осуществлялся через нестандартные текстовые файлы

Program V;

type matr=array[1..5,1..5] of integer;
type massiv=array[1..5] of integer;

Procedure Summa(var S:massiv; var A:matr);
var i,j; integer;
begin
for i:=1 to 5 do
begin
S[i]:=0;
for j:=1 to 5 do
S[i]:=S[i]+A[i,j];
end;
end;

Function Nomer(var S:massiv; c,b:integer):integer;
var i,Number:integer;
begin
Number:=0;
for i:=1 to 5 do
begin
if ((S[i]>c)and(S[i]<b)) then Number:=Number+1;
end;
end;

Procedure Number_N(var S,N:massiv; c,b:integer);
var i:integer;
begin
for i:=1 to 5 do
begin
if ((S[i]<c)or(S[i]>b))
then N[i]:=i
else N[i]:=0;
end;
end;

Function Number_max(var S:massiv):integer;
var i,Nmax,max:integer;
begin
Nmax:=1; max:=S[1];
for i:=2 to 5 do
begin
if S[i]>max
then
begin
Max:=S[i];
Nmax:=I;
end;
end;
Number_max:=Nmax;
end;

Var
A:matr;
S,N:massiv;
c,b,max,I,j,Nmax,Number:integer;
begin
write(‘vv c,b’);
readln(c,b );

for i:=1 to 5 do
for j:=1 to 5 do
readln(A[I,j]);

Summa(S,A);

Nomer(S,c,b );

if Nomer(S,c,b )=5
then
begin
Number_max(S);
writeln(‘Nmax=’, Number_max(S));
end
else
begin
Number_N(S,N,c,b );
for i:=1 to 5 do
writeln(‘N[i]=’, N[i]);
end;

end.
Julia
А что подразумевается под "Нестандартные текстовые файлы"?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.