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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 15:55   #1
LastBreath
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 12
Восклицание динамический массив в Паскаль

Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива.

Помогите пожалуйста справиться с задачкой...

И ещё вот такая :

Перед каждым положительным элементом массива вставить элемент, равный сумме элементов массива.

Очень нужны, помогите хотя бы с одной(желательно с первой), а вторую, возможно, получится сделать по аналогии...
люди добрые и умные(!) откликнитесь т.т
LastBreath вне форума Ответить с цитированием
Старый 05.05.2010, 16:57   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
procedure TForm1.Button4Click(Sender: TObject);
var
 myAr : array[0..100] of Integer ;
 i : Integer ;
 lenAr,min,max : Integer ;
 maxIndex,minIndex : Integer ;
begin
lenAr := 10;
Randomize;
for i := 0 to lenAr-1 do myAr[i] := Random(65536);

// найти минимальный и максимальный элементы
min := 65535 ;
max := 0;
for i := 0 to lenAr-1 do
 begin
 if myAr[i] < min then begin min := myAr[i]; minIndex := i; end ;
 end ;
for i := lenAr-1 downto minIndex do myAr[i+1]:=myAr[i];
myAr[minIndex] := 0;
for i := 0 to lenAr do
 begin
 if myAr[i] > max then begin max := myAr[i]; maxIndex := i; end ;
 end ;
for i := lenAr downto maxIndex+1 do myAr[i+1]:=myAr[i];
myAr[maxIndex+1] := 0;
end;
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948

Последний раз редактировалось Stilet; 06.05.2010 в 16:27.
Z1000000 вне форума Ответить с цитированием
Старый 05.05.2010, 17:57   #3
LastBreath
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 12
По умолчанию

ого, спасибо))но мне бы попроще...мы сейчас только начали изучать, пишем проги в среде Delphi, но на элементарном Паскале... и как бы в этой задаче не предусмотрены процедуры, с ними, конечно, проще, но они по программе учебной чуть позже)))
но, z1000000, спасибо! просто не очень понятно (Sender: TObject) - вот это, TObject пока не было такого)и в конце немного непонятно....
объясните простому смертному на простом языке...))
LastBreath вне форума Ответить с цитированием
Старый 05.05.2010, 18:03   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А если не секрет, вот это что такое???
Код:
for i := 0 to lenAr-1 do myAr[i] := Random(65536);
Да и что-то динамическим массивом тут не пахнет, ну никак...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 05.05.2010 в 18:09.
Grag вне форума Ответить с цитированием
Старый 05.05.2010, 18:18   #5
LastBreath
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 12
По умолчанию

А как быть то должно?
насчет динамического массива...это учитель посоветовал, может и без него можно, но с ним желательно.
=(
LastBreath вне форума Ответить с цитированием
Старый 05.05.2010, 18:20   #6
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Функция Random(Range:word):word;
Я полагаю, что этим все сказано...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 05.05.2010, 18:31   #7
LastBreath
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 12
По умолчанию

...да я могу и в ручную, мне сама программа нужна)))

Теперь только вторая нужна..)

Последний раз редактировалось Stilet; 06.05.2010 в 16:29.
LastBreath вне форума Ответить с цитированием
Старый 06.05.2010, 14:58   #8
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

А какой Паскаль поддерживает динамические массивы ?
Они только с Delphi 4 введены.
Может динамические списки имелось в виду.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 06.05.2010, 15:12   #9
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Совершенно верно, Паскаль не поддерживает "динамические массивы" как тип данных. Но, с помощью указателей это легко организуется как структура данных...

Как встроенный тип данных Паскаль не поддерживает "динамические массивы". Но динамический массив можно организовать как структуру данных с применением указателей.
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Stilet; 06.05.2010 в 16:29.
Grag вне форума Ответить с цитированием
Старый 06.05.2010, 15:40   #10
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
А какой Паскаль поддерживает динамические массивы ?
Когда в Паскале говорилось о динамических массивах, то имелось в ввиду, что они размещены в диннамической памяти. Делфи просто делает работу с такими данными несколько проще. Но поскольку
Цитата:
пишем проги в среде Delphi
то можно поступать так:
в разделе описений пишем переменных:
Код:
myAr : array of Integer ;
вначале программы ставим
Код:
SetLength(myAr,n);
где n - требуемая размерность массива.
и в конце програмы ставим
Код:
SetLength(myAr,0);
.
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив Ueshua Общие вопросы C/C++ 3 19.12.2009 22:12
Динамический массив Vito89 Общие вопросы Delphi 3 20.10.2009 01:20
динамический массив Cpluser Общие вопросы C/C++ 1 20.09.2009 18:17
Динамический массив _ares_ Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2007 23:54
Паскаль. Динамический массив KORT Паскаль, Turbo Pascal, PascalABC.NET 2 29.09.2007 23:08