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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Maximka24
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 46
#1

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

07.04.2014, 13:25. Просмотров 741. Ответов 4
Метки нет (Все метки)

Хелп плиз)

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

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

C++ Дана матрица А(3,4).Упорядочить массив С(12), состоящий из элементов А, по возрастанию, найти минимальный по модулю элемент.
C++ Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.
Сортировка 2-х одномерных массивов в 1 упорядоченный массив по возрастанию C++
C++ Получить массив С(К). упорядоченный по возрастанию, путем слияния массивов A(N) и В(М). упорядоченных по возрастанию (К = N + М).
Получить массив С(К), упорядоченный по возрастанию, путем слияния массивов A(N) и B(M), упорядоченных по возрастанию (K = N + M) C++
Из двух упорядоченных одномерных массивов длины К и Н сформируйте одномерный массив размером К+Н упорядоченный так же как и исходный C++
Сформировать массив S, состоящий из одинаковых элементов исходных массивов C++
Объединение двух упорядоченных по возрастанию массивов в один, также упорядоченный C++
C++ Получить из двух упорядоченных массивов путем слияния упорядоченный по возрастанию массив
C++ Упорядоченный по неубыванию массив превратить в упорядоченный по возрастанию, оставив уникальные элементы
Даны два массива. Сформируйте массив С, состоящий из общих элементов массива А и В C++
Сформировать массив, состоящий из одинаковых элементов выходных массивов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 881
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
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,994
Завершенные тесты: 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], состоящий из элементов массивов А и В, упорядоченный по возрастанию
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru