![]() |
Вопросы по синтаксису Delphi
Вопрос в следующем::
Как задется открытый массив?? Пример(расчет средней элементов массива): Код:
...Undeclared identifier:'a' Что вобщем-то понятно, т.к. переменная 'а' описана только в локальном блоке, т.е. в функции, а не в программе. Объясните как ее описать в программе, или что нужно исправить, чтобы избаиться от ошибки? :confused: |
Чтобы программа заработала добавь
Код:
var a: array [0..5] of integer;Код:
begin |
Это правильно, но не много не то.
должен быть открытый массив (ограничение на ввод я поставил в качестве примера) нужно чтобы массив оставался открытым, а программа расчитывала среднее по первому и последнему элементам.. |
Ну тогда замени:
Код:
function Average(a: array of integer): real;Код:
function Average(var a: array of integer): real;Код:
for i := 0 to 5 do readln(a[i]);Код:
for i := Low(a) to High(a) do readln(a[i]);Потом можешь экспериментировать : Код:
var p: array [1..10] of integer; |
Собрал
получилось следующее(по логике вроде правильно):: Код:
function Average(var a: array of integer): real;результат выводится 2-а раза, почему? (1-ый раз: Srednaya massiva = .{численный результат}. 2-ый раз:.{численный результат}. ) |
Цитата:
Код:
writeln('Srednaya massiva = ', Result);Код:
writeln(Average(p)); |
writeln('Srednaya massiva = ', Result);
writeln(Average(p)); поэтому и два раза. Убери вывод внутри Average() |
стоп... я конечно же извиняюсь, а разве не надо указывать длинну?
этоо? = array of integer. SetLength(a,7)???? |
Цитата:
стандартно, при объявлении длина задается принудительно. также существуют и открытые массивы-параметры, которые являются массивами произвольной длины.. описывается такой массив с помощью словосочетания array of, при этом границы массива опускаются.. зы.учишь Delphi говоришь, отметься здесь:: http://forum.antichat.ru/thread30523.html |
| Время: 06:16 |