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

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

Форум «Всё о Паскале» _ Делфи _ проверка ввода матрицы

Автор: -Екатерина- 22.10.2007 19:51

хочу сделать вот так, но программа не запускается:

constructor matrix.input;
var i,j:integer;
begin
writeln('*****VVOD MATRICI*****');
repeat
writeln('m= ');
{$i-}
readln(m);
{$i+}
err := (ioresult <> 0);
if err then writeln('OSHIBKA! Vvod nedopystimogo znacheniya! Povtorite vvod');
until not err;

repeat
writeln('n= ');
{$i-}
readln(n);
{$i+}
err := (ioresult <> 0);
if err then writeln('OSHIBKA! Vvod nedopystimogo znacheniya! Povtorite vvod');
until not err;
getmem(ar,n*m*sizeof(te));
writeln ('Vvedite elementi po strokam');
for i:=1 to m do
for j:=1 to n do
begin
{$i-} read (ar^[i,j]); {$i+}
err := (ioresult <> 0);
if err
then begin
writeln('OSHIBKA! Vvod nedopystimogo znacheniya! Vixod iz programmi');
readln;
halt;
end;
writeln;
end;


в чем проблема?? и где ошибка??

Добавлено через 10 мин.
это программа в консольном приложении

Автор: volvo 22.10.2007 21:56

Описания переменных можно привести? Особенно интересует, как описано Ar, и что такое te?

Автор: -Екатерина- 22.10.2007 22:09

type
te=integer;
mas=array[1..100,1..100] of te;
p=array [1..100] of te;
matrix=object
n,m:integer;
ar:^mas;
constructor input;
procedure output;
procedure task; virtual; {dubl stolb yavlyauwixsya perestanovkoi elemntov pervogo stolbca}
destructor done; virtual;
end;

Автор: volvo 22.10.2007 22:14

Стоп... У тебя нарушена структура программы:

Цитата
	for i:=1 to m do
for j:=1 to n do
begin // <--- Вот этому begin-у нет соответствующего end-а !!!
{$i-} read (ar^[i,j]); {$i+}
err := (ioresult <> 0);
if err
then begin
writeln('OSHIBKA! Vvod nedopystimogo znacheniya! Vixod iz programmi');
readln;
halt;
end;
writeln;
end; // <--- Этот, насколько я понял, ты хочешь, чтобы обозначал конец конструктора? Это не так...

Добавь перед Writeln-ом еще один End и программа будет нормально компилироваться...

Автор: -Екатерина- 22.10.2007 22:52

спасибо большое) я не заметила)