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

Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию - C++

Восстановить пароль Регистрация
 
Maximka24
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 46
07.04.2014, 13:25     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию #1
Хелп плиз)

Даны два массива, упорядоченных по возрастанию: А[n] и B[m].
Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
Не получается сама формировка массива.

Спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 13:25     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию
Посмотрите здесь:

C++ Массив: Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
C++ Дана матрица А(3,4).Упорядочить массив С(12), состоящий из элементов А, по возрастанию, найти минимальный по модулю элемент.
Сортировка 2-х одномерных массивов в 1 упорядоченный массив по возрастанию C++
C++ Получить массив С(К). упорядоченный по возрастанию, путем слияния массивов A(N) и В(М). упорядоченных по возрастанию (К = N + М).
Получить массив С(К), упорядоченный по возрастанию, путем слияния массивов A(N) и B(M), упорядоченных по возрастанию (K = N + M) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 873
07.04.2014, 13:40     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию #2
Maximka24, Ваш код покажите?
Maximka24
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 46
07.04.2014, 14:03  [ТС]     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию #3
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
void swap(int *a, int *b)
    {
       int tmp = *a;
       *a = *b;
       *b = tmp;
    }
 
        const int N = 5;
    const int M = 5;
    int mas_a[N];
    int mas_b[M];
    for(int i = 0; i < N; i++)
    {
        mas_a[i] = rand()%20;
        cout << mas_a[i] << ' '; 
    }  
        cout << endl;
    for(int i = 0; i < M; i++)
    {
        mas_b[i] = rand()%20;
        cout << mas_b[i] << ' '; 
    }  
        cout << endl;
    for(int j = 0; j < N; j++)
        for(int i = 0; i < N; i++)
            if(mas_a[i] < mas_a[i-1])  swap(&mas_a[i], &mas_a[i-1]);
    for(int i = 0; i < N; i++)
    cout << mas_a[i] << ' ';
    cout << endl;
    for(int j = 0; j < M; j++)
        for(int i = 0; i < M; i++)
            if(mas_b[i] < mas_b[i-1])  swap(&mas_b[i], &mas_b[i-1]);
    for(int i = 0; i < M; i++)
    cout << mas_b[i] << ' ';
    cout << endl;
Все закончилось сортировкой двух массивов. А как их "соединить" не знаю)
Прям быдло-код какой-то((((
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,195
Завершенные тесты: 1
07.04.2014, 14:08     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию #4
Цитата Сообщение от Maximka24 Посмотреть сообщение
как их "соединить"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int mas_c[N+M];
int k=0,m=0;
for(int i=0;i<N+M;i++)
{
    if(k<N && m==M)
         mas_c[i]=mas_a[k];// массив b кончился
    else  if(k==N && m<M)
         mas_c[i]=mas_b[m];// массив a кончился
    else if(mas_a[k]<mas_b[m])
       mas_c[i]=mas_a[k++];
    else
       mas_c[i]=mas_b[m++];
}
Maximka24
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 46
07.04.2014, 14:23  [ТС]     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию #5
zss
Спасибо за подсказку и правильное оформление темы!)))
Yandex
Объявления
07.04.2014, 14:23     Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию
Ответ Создать тему
Опции темы

Текущее время: 09:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru