@Alertoso

Как передать значения массива на проверку в процедуру val?

Помогите, пожалуйста, что-то не вяжется(
Procedure Val(S: String; A: TMyArray; var Error: Integer);
Var I: Integer;
Begin
  Val(S, A[I,1], Error);
  if  Error <> 0 then
    writeln('Incorrect input. Please try again.');
End;

//Procedure for filling an array with integer or fractional values
Procedure MatrixInput(var A: TMyArray);
Var I, Error: Integer;
  Input: String;
Begin
  writeln('Filling an array with numbers:');
  for I:=1 to M do
  Begin
    readln(input);
    Val(Input, A[I,1], Error);
    writeln('Pixels[', I:2, '] = (', A[I,1]:3:1, ', ', A[I,2]:3:1, ')');
  End;
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Delphi
Delphi Developer, сис. админ
Если ты хочешь передать значение массива, то и принимай его, а не массив.

Procedure Val(S: String; var A: real; var Error: Integer);


Передавай в процедуру переменную типа значений массива, а затем, если всё ок присвой массиву.

И у тебя будет бесконечная рекурсия, т.к. у тебя совпадают названия системной процедуры Val и твоей процедуры.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kalapanga
Не надо в неё ничего передавать. Свою процедуру Val нужно выкинуть совсем. Она не нужна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы