Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2009, 23:51   #1
rooman90
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию Ошибка в программе с процедурами. Паскаль

Задача:
Для матрицы А(5 на 5) сформировать одномерный массив В из 5 элементов. Каждый элемент B[k] принимает значение 1, если все элементы [k]-го столбца матрицы А не превышают значения соответствующего элемента главной диагонали, и значение 0 в противном случае.
Для проверки отсутствия элементов, превышающих значение элемента соответствующего элемента главной диагонали, в произвольном столбце матрицы использовать процедуру.

Код:
Program z_42627;
type matr=array[1..5,1..5] of integer;
     mas=array[1..5] of integer;
     var A:matr;
     B:mas;
     Flag:boolean;
     i,j:byte;
     k:integer;
Procedure Pro(A:matr; k:integer; var Flag:boolean);
var i:byte;
begin Flag:=TRUE; i:=1;
while (i<=5) and (Flag=TRUE) do begin
if A[i,k]>A[k,k] then Flag:=False;
i:=i+1;
end;
begin
for i:=1 to 5 do begin for j:=1 to 5 do read(A[i,j]);
readln end; writeln('Ishod_matr A');
for i:=1 to 5 do begin for j:=1 to 5 do
write(A[i,j]:6); writeln end;
for k:=1 to 5 do begin
Pro(A,k,Flag);
if Flag=TRUE then
B[k]:=1 else B[k]:=0;
writeln('Mass B');
for i:=1 to 5 do
write(B[k]:6);
writeln;
end.
Пишет что нужна точка с запятой в последней строчке после end

Если можно напишите сразу результаты программы.

Последний раз редактировалось Stilet; 03.04.2009 в 10:31.
rooman90 вне форума Ответить с цитированием
Старый 03.04.2009, 00:37   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
Program z_42627;
const N=3;
type matr=array[1..N,1..N] of integer;
mas=array[1..N] of integer;
var A : matr;
B : mas;
i,j:byte;
k:integer;

function Pro(A:matr; k:integer) : boolean;
var i:byte;
begin
for i:=1 to N do
 begin
 if A[i,k]>A[k,k] then
  begin
  Pro := false;
  exit;
  end;
 end;
Pro := true;
end;

begin
for i:=1 to N do
 begin
 for j:=1 to N do
  read(A[i,j]);
 readln;
 end;
writeln('Ishod_matr A');

for i:=1 to N do
 begin
 for j:=1 to N do
  write(A[i,j]:6);
 writeln;
 end;

for k:=1 to N do
 if Pro(A,k) then B[k]:=1
 else B[k]:=0;

 writeln('Mass B');
 for i:=1 to N do
  write(B[i]:6);
writeln;
readln;
end.
Значение N изменил на 3, чтобы поменьше вводить:

Код:
1
2
3
4
5
6
7
8
9
Ishod_matr A
     1     2     3
     4     5     6
     7     8     9
Mass B
     0     0     1
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Ошибка в программе EwwwA Общие вопросы C/C++ 5 05.01.2009 23:12
Ошибка в программе на рекурсию vitekbest Помощь студентам 13 14.06.2008 20:54
Ошибка в программе. Массивы RECREATOR Общие вопросы Delphi 5 21.12.2007 12:13
Ошибка в программе RoadTrain Общие вопросы Delphi 5 24.10.2007 22:16