Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Ko1iN
0 / 0 / 1
Регистрация: 31.08.2015
Сообщений: 41
1

Объединение двух массивов

05.06.2017, 21:55. Просмотров 2241. Ответов 2
Метки нет (Все метки)

Здравствуйте, нужна помощь с программой на Си.
"Даны два массива х и y, элементы каждого из которых упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив z, так, чтобы они снова оказались упорядоченными по неубыванию."
Я её сделал, но её не приняли, так как я использовал сортировку пузырьком. Нужно без сортировок, используя факт того, что они изначально упорядочены по не убыванию. И элементы должны повторяться. Т.е. пусть А=1,2,3. B=1,2,3,4,5. Тогда С=1,1,2,2,3,3,4,5.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2017, 21:55
Ответы с готовыми решениями:

Объединение и пересечение двух массивов
доброго времени суток, нужна помощь со следующим кодом. void BuildGroup(int** group, int* count)...

Объединение двух упорядоченных массивов
Даны массив A из N целых элементов массив B из M целых элементов. Оба массива упорядочены по...

Определить объединение двух полей. Первое поле – массив из двух байт, второе – слово
Помогите написать программу( лучше с комментариями чтобы разобраться) Определить объединение из...

Объединение двух множеств
Помогите! Нужно сделать объединение двух множеств. Вот код, но я не пойму откуда ноль #include...

Объединение двух строк
Всем привет! Прошу прощения за мою тупость, но вопрос такой: Необходимо отправить вот такой...

2
oldnewyear
419 / 416 / 158
Регистрация: 21.05.2016
Сообщений: 1,325
06.06.2017, 03:41 2
Лучший ответ Сообщение было отмечено MrGluck как решение

Решение

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
#include <stdio.h>
#define SIZE(x)  (sizeof(x) / sizeof((x)[0]))
 
int main() {
    int a[] = {1,2,3};
    int b[] = {1,2,3,4,5};
    int c[SIZE(a) + SIZE(b)];
    int i = 0;
    int j = 0;
    int k = 0;
 
 
    while (i < SIZE(a) && j < SIZE(b)) {
        c[k++] = a[i] < b[j] ? a[i++] : b[j++];
    }
 
    while (i < SIZE(a)) c[k++] = b[i++];
    while (j < SIZE(b)) c[k++] = b[j++];
 
    for (i=0; i < SIZE(c); i++) printf("%d ", c[i]);
    printf("\n");
 
    return 0;
}
0
Massaraksh7
311 / 264 / 87
Регистрация: 27.05.2017
Сообщений: 1,350
06.06.2017, 03:42 3
Сравниваются 2 элемента каждого массива, начиная с первого. Тот элемент, который меньше, помещается в новый массив, и индекс того массива, из которого взят элемент, увеличивается на 1. И так до исчерпания обоих массивов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2017, 03:42

Построить объединение двух последовательностей
Даны натуральное число n, целые числа a1,..., a25, b1,..., bn. Среди a1,..., a25 нет повторяющихся...

Объединение двух связных списков в один
Прога должна считать данные, строки, из командной строки, так мы создадим связный список, а потом...

Слияние двух массивов
из данных двух массивов образуется третий массив. Сначала элементы первого массива, в конце...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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