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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 17:12   #1
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию Пожалуйста помогите написать прогу на с++

В двух отсортированных по возрастанию массивов сформировать третий, отсортированный так же по возрастанию
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 27.03.2009, 17:19   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Первый вариант:
В третий массив копируете первый, потом дописываете в конец второй и сортируете.
Второй вариант:
Имеем три указателя (целочисленные переменные, например, k1,k2 и k3), хранящие текущие позиции в первом, втором и третьем массиве. Изначально они все равны 0.

Заполняете и сортируете массивы A и B. Пусть оба будут размера N.
Тогда размер массива C - 2*N.

И цикл:
Код:
for(i=0;i<2*N;i++)
 {
  if(k1==N) C[k3++] = B[k2++];
  else if(k2==N) C[k3++] = A[k1++];
  else if(A[k1]<B[k2]) C[k3++] = A[k1++];
  else C[k3++] = B[k2++];
 }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 27.03.2009 в 17:40.
Sazary вне форума Ответить с цитированием
Старый 29.03.2009, 17:34   #3
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

Спосибо БОЛЬШОЕ, но если Вам не трудно, напишите пожалуйста полную программу, а то я в указателях не особо понимаю, заранее спосибо
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 29.03.2009, 17:41   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а то я в указателях не особо понимаю
Если проблема только в этом, то могу вас успокоить: указателей здесь нет.
Я специально в скобках добавил, что это целочисленные переменные).
Вам осталось только заполнить массивы и отсортировать их.

Ну ладно, вот вам:
заполнение массива А:
Код:
cout<<"massiv A:\n";
for(i=0;i<N;i++)
 {
  A[i] = rand()%100;
  cout.width(4);
  cout<<A[i];
 }
его сортировка:
Код:
cout<<"\n\nmassiv A + sort:\n";
for(i=0;i<N-1;i++)
 {
  for(j=i+1,m=i;j<N;j++)
   if (A[j]<A[m]) m = j;
  tmp = A[m];
  A[m] = A[i];
  A[i] = tmp; 
 }
 
for(i=0;i<N;i++)
 {
  cout.width(4);
  cout<<A[i];
 }
Для остальных напишите сами.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите написать прогу пожалуйста.... Dezolyator Помощь студентам 6 27.01.2009 20:43
помогите написать прогу kot2354 Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2008 18:03
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56
Помогите пожалуйста написать прогу Juhn Паскаль, Turbo Pascal, PascalABC.NET 9 23.12.2007 22:02