![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
На c++ такие писал (сейчас правда уже не вспомню), а вот на delphi не нашел. Никто не подскажет? Например, нахождение среднего арифметического неограниченного кол-ва чисел?
|
|
#2
|
|||
|
|||
|
Код:
function AVG(Nmb : Array Of Double) : Double;
var
I : Integer;
begin
Result := 0;
For I := Low(Nmb) To High(Nmb) Do Result := Result + Nmb[i];
Result := Result / Length(Nmb);
end;
// usage
ShowMessage('AVG of [1,2,3,4,5] is ' + FloatToStr(AVG([1,2,3,4,5])));Т.е. через массив. Массив можно описать как Variant или const. Тогда еще можно проверять тип эл-та массива. Еще есть возможность указывать значения по умолчанию, тогда можно их при вызове опускать. Но там свои ограничения. |
|
#3
|
||||
|
||||
|
Хах, спасибо большое, можно было и самому допереть) Будем юзать)
|
|
#4
|
||||
|
||||
|
Если эти параметры, число которых неограниченно, являются неоднородными типами данных, то бывает иногда удобно работать со связанными списками. Т.е. как если бы элементом массива являлась база данных с заранее неизвестным количеством полей, и размерность массива при этом неизвестна.
|
|
#5
|
||||
|
||||
|
Physicist, функций для работы с вариантными массивами в Delphi достаточно для любой разумной задачи. Списки - вещь хорошая, но для начинающих труднопонимаемая.
|
|
#6
|
||||
|
||||
|
Цитата:
Но! Именно в решении простеньких задачек методом списков закладывается правильный навык. Появляются наработки, которые потом можно будет применять блоками. Это, как сказал бы Фейнман: "Было бы дико сначала рассказывать школьникам «для простоты», что Земля плоская, а потом, как открытие, сообщать о её шарообразности." |