Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2012, 23:15   #1
Seferus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 56
Плохо Динамический одномерный массив

Создать динамический одномерный массив. Заполнить его случайными трехзначными числами. Найти среднее арифметическое элементов с четными номерами.
Seferus вне форума Ответить с цитированием
Старый 29.06.2012, 07:21   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Сколько платите?
p51x вне форума Ответить с цитированием
Старый 29.06.2012, 08:30   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Динамические массивы в Паскале вроде как не существуют.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 29.06.2012, 09:34   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Код:
Динамические массивы в Паскале вроде как не существуют.
А что по этому поводу скажут другие?
Так, например, память в динамической области можно запросить через GetMem:
Пример формирования массива в динамической области.
Как заполнить случайными числами и прочие действия ...
Код:
Type mas_r = array[1..100] of real;
var p: ^mas_r;
    i, n: integer;
begin
   writeln('Input size massiv: ');
   readln(n);
if 100*sizeof(real) < n*sizeof(real) then begin
   writeln('Small memory!');
   halt;
end;
GetMem(p, n*sizeof(real));
for i := 1 to n do
   read(p^[i]);
end.
Вот что-то в этом роде и ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 29.06.2012, 10:08   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Цитата:
Динамические массивы в Паскале вроде как не существуют.
А что по этому поводу скажут другие?
во-первых, динамическими массивами принято называть массивы с ПЕРЕМЕННОЙ длиной. в вашем случае это обычный статический, только размещённый в динамической памяти.

во-вторых, на форуме баталии по этому поводу велись НЕОДНОКРАТНО.
моё исключительно личное субъективное мнение (IMHO) - что динамических массивов в Паскале НЕТ. Но есть возможность размещать переменные в динамической памяти и через указатели реализовать работу с указатетелями так, что это будет полной аналогией использования динамических массивов.

в-третьих, то, что Seferus разместил тему в разделе "Паскаль", не означает, что ему нужен старый добрый TurboPascal. на 99% ему нужна программа на Delphi.
А вот там динамические массивы реально есть!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2012, 10:46   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Сильно не разводя бодягу, обсуждений не встречал, скажу, что:
1) Динамический - получаемый в процессе работы программы, а не на стадии компиляции, когда массив размещается в сегменте данных (статический массив).
Так думал до сих пор.
2) И в Delphi и в других языках есть понятие динамического массива в том смысле как Вы определили:
Цитата:
принято называть массивы с ПЕРЕМЕННОЙ длиной
Вот из Википедии подтверждение Вашим словам:
Цитата:
Динамическим называется массив, размер которого может меняться во время исполнения программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор.
Т.о. динамичность массива в этих языках реализуется доп. функциями.
Поскольку ничто не мешает мне увеличивать или уменьшать размер в динамической памяти (язык предоставляет такие операторы) пока останусь при своем мнении.

А с языком ... Вот так всегда, мелочь недоглядишь и ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 29.06.2012, 11:31   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Цитата:
Динамические массивы в Паскале вроде как не существуют.
А что по этому поводу скажут другие?
Спор ниочём. Если в итоге код будет одинаков, то какая разница встроенная это функция или внешняя?
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный динамический массив. Кристинка- Общие вопросы Delphi 1 12.05.2012 08:20
Одномерный динамический массив inmanika Помощь студентам 1 18.01.2012 11:34
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Одномерный динамический массив anybkarnak Общие вопросы C/C++ 5 11.12.2009 20:18