Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите пожалуйста найти ошибку

Автор: Mandarinka 28.11.2007 1:46

собственно прога:

program matrix;
label 1;
var x,y,z:array [1..9,1..4] of integer;
x1,y1,z1:integer;
procedure zero(var d:array[1..9,1..4] of integer;nol:integer);
var i,j,nol:integer;
begin
for j:=1 to 4 do
begin for i:=1 to 9 do read d[i,j]; readln end;
nol:=0;
for j:=1to 4 do
for i:=1 to 9 do
while d[i,j]=0 do
if i:=9 then nol:=nol+1;
end;
procedure wr(var d:array[1..9,1..4]of integer);
var i,j:integer;
begin
for j:=1 to 4 do
for i:=1 to 9 do
begin write(d[i,j]); writeln end;
end;
begin
zero(x,x1);
zero(y,y1);
zero(z,z1);
if (x1>y1) and(x1>z1) then begin wr(x); goto 1 end;
if (y1>x1) and(y1>z1) then begin wr(y); goto 1 end;
if (z1>x1) and(z1>y1) then begin wr(z); goto 1 end;
if (x1=y1) and(x1=z1) then begin wr(z); wr(y); wr(z); goto 1 end;
if (x1=y1) and(z1<x1) then begin wr(x); wr(y) goto 1 end;
if (x1=z1) and(y1<x1) then begin wr(x); wr(z) goto1 end;
if (y1=z1) and(x1<y1) then begin wr(y); wr(z) end;
1:
end.

Автор: Client 28.11.2007 1:53

А что она (программа) должна делать? Считать кол-во первых нулей?

Автор: Mandarinka 28.11.2007 1:55

она должна вывести на экран ту матрицу, в которой больше всего нулевых строк

Автор: Client 28.11.2007 1:59

А что такое Х1,У1? Ты их где-то задаешь?Если да, то где?

Автор: Mandarinka 28.11.2007 2:08

они задаются как параметр-переменная в процедуре

Автор: volvo 28.11.2007 4:55

Цитата
они задаются как параметр-переменная в процедуре
Во-первых, в процедуре Zero параметр-переменная только один - это матрица, параметр Nol передается по значению, потому что Var действует только до ";"

Ну и, собственно ошибка - это то, что нельзя конструировать тип в заголовке - компилятор это не пропускает, надо сначала определить тип матрицы (через Type), а потом им пользоваться...

Автор: Mandarinka 28.11.2007 5:44

Спасибо!!

Автор: Lapp 28.11.2007 10:43

М
Спасибо спасибом, но если ты, уважаемая Mandarinka, еще раз создашь тему с таким или аналогичным названием - удалю сразу. Считаю это предупреждением.

Тема закрыта