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

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

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

Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании - C++

20.04.2014, 22:46. Просмотров 450. Ответов 3
Метки нет (Все метки)

Заданы два одномерных массива А(N) и В(N). Сформировать массив С(2*N), содержащий элементы обоих массивов, расположенные в порядке возрастании.
Не могу понять, как их соединить в один массив в порядке возрастания.
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std;
 
int main(int *C)
{ 
        setlocale(0,"");
        srand(time(NULL));
        const int N=10;
  int *A = new int[N];
  int *B = new int[N];
  for (int i = 0; i < N; i++) 
  {
       A[i] = rand()%40 -10;
       B[i] = rand()%40 -10;
          }
     cout << "Элементы массива A: { ";
        for (int i=0; i<N; i++)
                cout << A[i] << " ";
        cout << "}" << endl;
 
        cout << "\nЭлементы массива B: {";
        for (int i=0; i<N; i++)
                cout << B[i] << " ";
        cout << "}" << endl;
        system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 22:46     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании
Посмотрите здесь:

Создать новый массив А1, содержащий все четные элементы массива А, расположенные по возрастанию - C++
2. Дан целочисленный массив А размером Н. Создать новый массив А1, содержащий все четные элементы массива А, расположенные по возрастанию....

Массив: Сформировать массив С, содержащий те элементы массива А, имеющие значения кратные М, которые есть в массиве В. - C++
Сформировать одномерный массив С , содержащий те элементы исходных массивов А и (или) В, которые указаны в задании. Элементы массива А,...

Определить содержит ли заданный массив группы элементы, расположенные в порядке возрастания их значений - C++
1.Определить содержит ли заданный массив группы элементы,расположенные в порядке возрастания их значений.Если да,то определить количество...

Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива - C++
Люди добрые, помогите решить задачку. Дан одномерный массив А, состоящий из целых чисел. Получить массив В, содержащий элементы массива...

Объединить элементы 2-х массивов в один массив, содержащий все различные числа - C++
Помогите пожалуйста составить программу: Даны 2 последовательности из целых чисел: a1, ..., an и b1, ..., bm. Объединить элементы этих...

Создать массив, содержащий только общие элементы массивов А и В без повторов - C++
1. Написать программу, которая на основе двух динамических массивов А и В быть разного размера строит третий динамический массив С...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.04.2014, 23:10     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании #2
Можно сделать массив C, и потом отсортировать его. Либо отсортировать массивы a и b, и потом слить их в один.

Добавлено через 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
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <algorithm>
using namespace std;
 
int main()
{
    setlocale(0, "");
    srand(time(NULL));
    const int N = 10;
    int *A = new int[N];
    int *B = new int[N];
    int *C = new int[2 * N];
    for (int i = 0; i < N; i++)
    {
        A[i] = rand() % 40 - 10;
        B[i] = rand() % 40 - 10;
    }
    cout << "Элементы массива A: { ";
    for (int i = 0; i < N; i++)
        cout << A[i] << " ";
    cout << "}" << endl;
 
    cout << "\nЭлементы массива B: {";
    for (int i = 0; i<N; i++)
        cout << B[i] << " ";
    cout << "}" << endl;
    
    sort(A, A + N);
    sort(B, B + N);
    int i = 0, j = 0;
    for (int k = 0; k < 2 * N; k++){
        if (i == N){
            C[k] = B[j++];
            continue;
        }
        if (j == N){
            C[k] = A[i++];
            continue;
        }
        if (A[i] < B[j])
            C[k] = A[i++];
        else 
            C[k] = B[j++];
    }
 
    cout << endl << "Элементы массива C: { ";
    for (int i = 0; i < 2 * N; i++)
        cout << C[i] << " ";
    cout << "}" << endl;
    system("pause");
    return 0;
}
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
20.04.2014, 23:13     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании #3
Цитата Сообщение от fishec Посмотреть сообщение
Можно сделать массив C, и потом отсортировать его.
самое простое
Цитата Сообщение от fishec Посмотреть сообщение
Либо отсортировать массивы a и b, и потом слить их в один.
а это уже посложнее
например два массива (отсортированные)
1 3 и 2 4
простое слияние даст
1 3 2 4
придется брать первый элемент из первого, сравнивать с первым элементом второго записывать младший, ну и так далее
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 23:22     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании
Еще ссылки по теме:

Задан массив, содержащий N элементов. Упорядочить его элементы в порядке возрастания. - C++
Буду очень признателен, если поможете безрукому... 6. Задан массив, содержащий N элементов. Упорядочить его элементы в порядке...

Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами - C++
Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами....

Сформировать массив содержащий только нечетные элементы исходного массива упорядоченные по убыванию - C++
1)Задан массив целых чисел a.Сформировать массив b,содержащий только нечетные элементы массива a упорядоченные по убыванию.

Сформировать массив, содержащий только те элементы иззначального массива, значение которых больше заданного числа - C++
Задан массив A из N элементов. Сформировать массив B, содержащий только те элементы массива A, значение которых больше заданного числа X....

Сформировать массив, в котором элементы следуют в обратном порядке - C++
Сгенерировать массив из N чисел. Сформировать второй массив, в котором элементы следуют в обратном порядке по отношению к элементам...

Сформировать массив, записав в него элементы с четными индексами двух массивов. - C++
Из массивов A и B сформировать массив C, записав в него элементы массивов A и B с четными индексами. Вычислить среднее арифметическое...


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

Или воспользуйтесь поиском по форуму:
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
20.04.2014, 23:22  [ТС]     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании #4
fishec, Спасибо за помощь.
Yandex
Объявления
20.04.2014, 23:22     Сформировать массив С(2*N), содержащий элементы данных массивов, расположенные в порядке возрастании
Ответ Создать тему
Опции темы

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