Ошибка при объявлении размера массива: "неизвестное имя 'n'" - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. program mass_5;
  2. type m=array[1..n] of integer; // <---
  3. procedure InAr(var a:m; n:integer); // <---
  4. var i:integer;
  5. begin
  6. for i:=1 to n do
  7. a[i]:=random(100);
  8. end;
  9. procedure Pro(var a:m; n:integer);
  10. var i:integer;
  11. begin
  12. for i:=1 to n do
  13. if a[i]<2 then a[i]:=0;
  14. end;
  15. procedure Sum(var a:m; n:integer);
  16. var s:integer;
  17. begin
  18. for i:=3 to 7 do
  19. s:=s+a[i];
  20. writeln('Сумма на отрезке [3..7] = ',s);
  21. end;
  22. var a:m;
  23. n:integer;
  24. begin
  25. write('Введите кол-во ячеек массива: ');
  26. read(n);
  27. InAr(a:m,n);
  28. Pro(a:m,n);
  29. Sum(a:m,n);
  30. end.
Пишет: неизвестное имя 'n'.(Выделил) я вроде объявил его в Var, но походу неправильно. подскажите как пофиксить? и если не сложно, объясните, что именно делает данное слово var(красное), почему без употребления его перед "a:m", работа с массивом не происходит?

Решение задачи: «Ошибка при объявлении размера массива: "неизвестное имя 'n'"»

textual
Листинг программы
  1. type m=array of integer;
  2.  
  3. procedure InAr(var a:m; n:integer);
  4. var i:integer;
  5. begin
  6. for i:=0 to n-1 do
  7. a[i]:=random(100);
  8. end;
  9.  
  10. procedure Pro(var a:m; n:integer);
  11. var i:integer;
  12. begin
  13. for i:=0 to n-1 do
  14. if a[i]<2 then a[i]:=0;
  15. end;
  16.  
  17. procedure Sum(var a:m; n:integer);
  18. var s:integer;
  19. begin
  20. for var i:=3 to 7 do
  21. s:=s+a[i];
  22. writeln('Сумма на отрезке [3..7] = ',s);
  23. end;
  24.  
  25. var a:m;
  26. n:integer;
  27. begin
  28. write('Введите кол-во ячеек массива: ');
  29. read(n);
  30. setlength(a,n);
  31. InAr(a,n);
  32. Pro(a,n);
  33. Sum(a,n);
  34. end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы