Форум программистов, компьютерный форум CyberForum.ru

Задача на сортировку массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ сумма соответствующих элементов массивов http://www.cyberforum.ru/cpp-beginners/thread1010987.html
даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите!
C++ сумма соответствующих элементов массива даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите! http://www.cyberforum.ru/cpp-beginners/thread1010986.html
Среднее квадратичное отклонение от среднего арифметического C++
Добрый день. сломал голову над САБЖ+ требуется найти среднее медианное. Помогите пож-та на примере уже готового массива, где среднее арифметическое я нашел. #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int main() {
C++ Поиск max и min с stack
ПОдскажите как реализовать сам поиск вообще не представляю еще могу попробовать найти 1 из 2х но оба непонимаю как ведь после проверки 1 символа например на max он удаляется (
C++ Задача на циклы! Язык Си++! определить количество разных чисел http://www.cyberforum.ru/cpp-beginners/thread1010955.html
Определить количество различных чисел, которые содержатся в числе N? ( это число мы вводим с клавиатуры!! )
C++ Сортировка двух масивов с++ Помогите разработать програму, которая прописовает все числа, которые не повторяються с масива А(n) в масив В(n) и печатает масив В(n) по 5 чисел в строчке. подробнее

Показать сообщение отдельно
Demiar
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 86
18.11.2013, 17:09     Задача на сортировку массивов
Сформировать с помощью датчика случайных чисел в диапазоне [0,20] два массива C и D, из 20 элементов целого типа каждый. Вывести их на экран. Отсортировать массивы C и D по возрастанию и сформировать из них массив E, таким образом, чтобы он также был отсортирован.

Суть такова, что я понял как сортировать 2 массива - сравнивать C[i] и D[j] и тот, который меньше, заносить в E[k], но не могу сообразить что делать когда они равны, попытался сделать условие меньше, либо равно и присваивать E[k] - меньший элемент, а к E[k+1] элемент равный ему, но чот неправильно видимо ( заранее спасибо

Вот мой код :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdlib.h>
#include <stdio.h>
int const N=20;
int random (int N) { return rand()%N; }
main()
{  
  int i,j,k,a=0,b=20,C[N],D[N],E[2*N],temp;
  int p=0;
  printf("Массив C\n");
  for ( i = 0;i<N;i++)
     {
           C[i]=random ( b - a + 1 ) + a;
           printf("%d\n",C[i]);
     }
   printf("Массив D\n");  
     for ( i = 0;i<N;i++)
     {
           D[i]=random ( b - a + 1 ) + a;
           printf("%d\n",D[i]);
     }  
 
  for ( i = 0; i < N-1; i ++ ) 
    for ( j = N-2; j >= i; j -- ){
      if (C[j]>C[j+1]) 
      {
        temp = C[j]; 
        C[j] = C[j+1]; 
        C[j+1] = temp;
      }
      
        if (D[j]>D[j+1])
      {
        temp = D[j]; 
        D[j] = D[j+1]; 
        D[j+1] = temp;
      }
      }
     printf("\n Отсортированный массив C:\n");
  for ( i = 0; i < N; i ++ )
     printf("%d  ", C[i]);
     
     printf("\n Отсортированный массив D:\n");
  for ( i = 0; i < N; i ++ )
     printf("%d  ", D[i]);
     
     
     for ( i=0,j=0,k=0;k<N*2;k++)
        {
          if(C[i]<=D[j]) {
                          E[k] = C[i];
                          E[k+1] = D[j];
                          k=k+2;
                          i++;
                          }
        {
          if(C[i]>D[j]) {
                         E[k] = D[j];
                         j++;
                         }                                         
        }
        }
        printf("\n Отсортированный массив E:\n");
        for( k = 0; k<2*N;k++ )
           printf("%d\n",E[k]);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru