Автор Тема: Помогите с Delphi  (Прочитано 962 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MilitaryJane

  • Юниор
  • **
  • Сообщений: 173
  • Репутация: 0
  • Пол: Женский
Помогите с Delphi
« : Апреля 08, 2009, 15:21:35 »
Дана определенная задача:
Дан одномерный массив А с
числом эл-ов n.Необходимо
сформировать массив
C,состоящий из четных значений
эл-ов массива А и массив
В,состоящий из нечетных
значений элементов массива
А.Подсчитать кол-во эл-ов в
массивах С и В и найти max эл-ты
в массивах С и В.

Создать пользовательскую процедуру по ней(без графиков),не могу разобраться какие команды нужны... :'(
"Помни! Сила рыцаря Джедай- это сила вселенной!
Но помни- гнев,страх, это всегда ведет на темную сторону силы!
Как только ты сделаешь первый шаг по темному пути, ты уже не сможешь с него свернуть!

Оффлайн woolf

  • Новичок
  • *
  • Сообщений: 72
  • Репутация: 0
  • Пол: Мужской
    • Дизайн и проектирование интерьеров
Re: Помогите с Delphi
« Ответ #1 : Апреля 08, 2009, 16:05:38 »
Это институтская задача или что? Мы подобные решали в свое время. Напиши мне в личку, договоримся, может помогу чем - сейчас сам на Делфи программы пишу, правда массивами давно не пользовался, но вспомнить и попрактиковаться тоже полезно :)

Разработка рекламной вывески 
Шенгенская виза

Оффлайн lek

  • Юниор
  • **
  • Сообщений: 212
  • Репутация: 0
  • Пол: Мужской
Re: Помогите с Delphi
« Ответ #2 : Апреля 09, 2009, 11:59:21 »
прикольная задача!
тут нужно знать как работать с динамическими массивами и циклами

Решений много... могу примерно один из них рассказать
нужно организовать цикл по элементам массива A
for i := 0 to n-1 do
  begin
    if (i mod 2 = 0) then //это четный i... добавляем его в B
      begin
        SetLength(B, Length(B)+1); //увеличили размер массива на одну позицию
        B[Length(B)-1] := A[i ]; //записали значение
      end
    else //нечетный элемент
      begin
        SetLength(С, Length(С)+1); //увеличили размер массива на одну позицию
        С[Length(С)-1] := A[i ]; //записали значение
      end
  end;

чтобы определить максимальный элемент массива тоже организовать цикл... изначально в результат записать значение первого элемента массива Result := aArray[0];
и в цикле проверять если втретился больший записать его.....