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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 14:34   #1
nikshiyan
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 10
Радость Объединение

Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по убыванию массив.
nikshiyan вне форума Ответить с цитированием
Старый 21.07.2010, 14:56   #2
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Т.е. надо создать 2 массива, я правильно понял?
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Старый 21.07.2010, 15:02   #3
nikshiyan
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 10
По умолчанию

Не , нужно создать один, который будет состоять из двух, и этот объединенный упорядочить по убыванию.
nikshiyan вне форума Ответить с цитированием
Старый 21.07.2010, 17:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

алгоритм ПРОСТЕЙШИЙ.
Пусть есть два массива A1 и A2, размерность (количество элементов N1 и N2 соответственно.
заводим два указателя - пусть будет i1 и i2
дальше так:
Код:
  i1:=N1;
  i2;=N2;
  for K:=1 to (N1+N2) do 
    if (i1>=1) and (i2>=1) then
    begin 
      {есть пока элементы в обоих массивах}
      if A1[i1]>A2[i2] then begin
          A3[k] := A1[i1]; 
          dec(i1)
      end
      else begin
          A3[k] := A2[i2]; 
          dec(i2) 
      end
   end
   else 
       {какой-то из массивов уже закончился
         оставшийся просто копируем поэлементно}  
       if (i1>=1) then begin
          A3[k] := A1[i1]; 
          dec(i1)
       end
       else begin
          A3[k] := A2[i2]; 
          dec(i2)
       end;

WriteLn('ВСЁ!');

p.s. писал в браузере, возможны мелкие опечатки...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.07.2010, 21:01   #5
nikshiyan
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 10
По умолчанию

Спасибо за помощь
nikshiyan вне форума Ответить с цитированием
Старый 21.07.2010, 21:45   #6
Анатоль
Пользователь
 
Регистрация: 17.12.2009
Сообщений: 74
По умолчанию

Если тебе важна эта тема посмотри в поисковиках:
Сортировка слиянием. Там написано как сливать два массива в один и как это можно потом использовать для эффиктивной, устойчивой сортировки за nlogn.
Анатоль вне форума Ответить с цитированием
Старый 21.07.2010, 21:59   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Анатоль, а позвольте полюбопытствовать,
так а чем мой алгоритмик плох?..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.07.2010, 21:02   #8
VektorAB
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 29
По умолчанию

Serege. Думаю необходимой частью является объявление переменных.
Я понимаю что Вы сократили. Но ТС может непонять Просто мое мнение.
"Сегодня, в завтрашний день не все могут смотреть, вернее не только лишь все, мало кто может это сделать"
VektorAB вне форума Ответить с цитированием
Старый 25.07.2010, 22:10   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

VektorAB, судя по тому, что TC поблагодарил четыре дня назад, у него с этим проблем не возникло.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.07.2010, 23:50   #10
Анатоль
Пользователь
 
Регистрация: 17.12.2009
Сообщений: 74
По умолчанию

Serge_Bliznykov, я что сказал что ваша программа плохая?
просто тема слияния массивов доваольна близка к сортировке слиянием вот я и
предложил если нужно посмотреть эту тему в интернете.
Анатоль вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение ячеек ing60 Microsoft Office Excel 13 17.10.2019 21:35
Объединение exe lpsun Софт 12 16.07.2010 15:19
Объединение файлов Sparky Помощь студентам 0 04.06.2010 16:26
Объединение БД Georgios БД в Delphi 3 25.01.2009 20:18
объединение матриц eHappy Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2008 00:36