Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149

Слияние двух массивов

14.12.2013, 22:01. Показов 5085. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Возникла проблема с задачей. Даны два массива одинакоого размера. Нужно создать 3 массив который будет хранить элементы первого и второго массива. Проблема в том что первый массив у меня передается в 3 массив, а все элементы 2 массива почему то равны первому элементу(тоесть счетчик j не инкрементируется)вот ф-ция которая должна соединить 2 массива
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
void merge(int arr[],int arr1[],int arr2[],int n)
{
    for(int i(0);i<n;i++)
        arr[i]=arr1[i];
    for(int i(n);i<2*n;i++)
    {
        for(int j=0;j<n;j++)//j не инкрементируется
        {
            arr[i]=arr2[j];
            break;
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2013, 22:01
Ответы с готовыми решениями:

Слияние двух динамических массивов…
Приветствую Вас!:) Задача такая: Даны два массива: A и B (числовые), упорядоченные по неубыванию. Слить их в один упорядоченный...

Слияние из двух массивов в один общий
Требуется соединить два массива в один есть сложность что они считаны с файла... помогите объединить два массива в один и вывести его на...

Слияние двух отсортированных массивов в третий
Здравствуйте всем! Только начинаю изучать языки программирования. Помогите найти ошибку. Необходимо создать два массива, слить и...

7
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
14.12.2013, 22:19
Hrollo, вот, как отработает ваша программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
arr[ n ] = arr2[ 0 ];
arr[ n ] = arr2[ 1 ];
arr[ n ] = arr2[ 2 ];
arr[ n ] = arr2[ 3 ];
....
arr[ n ] = arr2[ n - 1 ];
 
arr[ n + 1 ] = arr2[ 0 ];
arr[ n + 1 ] = arr2[ 1 ];
....
arr[ n + 1 ] = arr2[ n - 1 ];
....
arr[ 2 * n - 1 ] = arr2[ n - 1 ];
0
 Аватар для katsidelin
60 / 21 / 10
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
14.12.2013, 22:29
Если n - длина массивов arr1[] и arr2[] и все они у Вас заданы глобально...
И длина arr[] равна 2n...
C++
1
2
3
4
5
6
7
8
9
10
11
void merge(int arr[],int arr1[],int arr2[],int n)
{
for (int x = 0; x<=n; x++)
{
arr[x] = arr1[x];
};
for (int x = n+1; x <= 2*n; x++)
{
arr[x] = arr2[x];
};
}
Как-то так!
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
14.12.2013, 22:49  [ТС]
такой вариант я уже пробовал и он к сожалению не работает
0
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
14.12.2013, 22:55
Hrollo,
C++
1
2
3
4
5
6
7
8
9
10
11
....
for ( int i ( 0 ); i < n; i++ )
{
    arr[ i ] = arr1[ i ];
}
 
for ( int i ( n ), int j ( 0 ); ( i < n * 2 ) && ( j < n ); i++, j++ )
{
    arr[ i ] = arr2[ j ];
}
....
1
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
14.12.2013, 23:01  [ТС]
Спасибо помогло. Если не трудно можете ответить еще на один вопрос(что бы не создавать новую тему). Сортировку слиянием можно было применить в данном случае или она предназначена только для одного массива?
0
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
14.12.2013, 23:10
Hrollo, можно. Попробуйте так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int main()
{
    int arr1[ 5 ] = {/*ваши_значения*/};
    int arr2[ 5 ] = {/*ваши_значения*/};
    int arr[ 10 ];
 
    merge( arr1, arr1 + 5, arr2, arr2 + 5, arr );
 
    ....
    return 0
}
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
14.12.2013, 23:16
все делается в один цикл
C++
1
2
3
4
5
for(int i=0;i<n;i++)
 {
   arr3[i]=arr1[i];
   arr3[i+n]=arr2[i];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2013, 23:16
Помогаю со студенческими работами здесь

Слияние двух отсортированых массивов в один
задание: Задано два массива. Массив А состоит из N элементов и отсортированный по увеличению . Массив В состоит из N элементов и...

Слияние двух массивов в отсортированный по не убыванию массив
Даны два массива. Массив А состоит из N элементов, массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать...

Слияние двух массивов, решение с помощью указателей
помогите,пожалуйста,решить! Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их...

Слияние двух массивов, заполненных случайными числами, в третий
Доброго времени суток,подскажите,возможно кто то знает как решить задачу ниже..у самого ничего не получается.. Заранее Большое Спасибо! ...

Провести слияние двух массивов по возрастанию, создавая третий массив
Провести слияние двух массивов по возрастанию, создавая третий массив. Помогите пожалуйста:(


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru