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

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

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

Объединение массивов - C++

21.11.2011, 01:33. Просмотров 593. Ответов 4
Метки нет (Все метки)

Всем добрый вечер, лазил по сайту, ничего толком не нашел.
Вопрос такой : как объединить два вводимых с клавиатуры массива в третий? если можно наиболее простым способом.

Добавлено через 40 минут
массив одномерный
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 01:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объединение массивов (C++):

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

Объединение массивов - C++
Здравствуйте! Помогите пожалуйста... Заданы два одномерных массива действительных чисел различных размеров.Объединить их в один...

Объединение массивов! - C++
Задано две целочисленные неубывающие последовательности A=(ai), i=1..n, n<=100 и B=(bi), i=1..n, n<=100, т.е. есть одинаковые элементы....

Объединение массивов - C++
Здравствуйте. Подскажите, где ошибка. Есть два отсортированных массива. Их нужно объединить в один тоже отсортированный. У меня выводит...

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

Объединение двух массивов - C++
Выполнено два задания:нашли Элементы массива A, которые не включаются в B и Элементы массива B, которые не включаются в A. Как объединить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
21.11.2011, 01:59 #2
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
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
void main()
{
    int i, mas1size, mas2size, *mas1, *mas2, *mas3;
    printf ("Vvedite razmeri massivov 1 i 2:\n");
    scanf("%d%d",&mas1size,&mas2size);
    mas1=(int*)malloc(mas1size*sizeof(int));
    mas2=(int*)malloc(mas2size*sizeof(int));
    printf ("zapolnite pervii massiv:\n");
    for (i=0;i<mas1size;i++)
    scanf("%d",&mas1[i]);
    printf ("zapolnite vtoroy massiv:\n");
    for (i=0;i<mas2size;i++)
    scanf("%d",&mas2[i]);
    mas3=(int*)malloc((mas1size+mas2size)*sizeof(int));
    for (i=0;i<mas1size+mas2size;i++)
   {
        if (i<mas1size) mas3[i]=mas1[i];
        else mas3[i]=mas2[i-mas1size];
   }
    for (i=0;i<mas1size+mas2size;i++)
    printf ("%d ",mas3[i]);
    getch();
}
Deemk0
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 18
21.11.2011, 14:54  [ТС] #3
Не могли бы вы объяснить эти строки :
mas1=(int*)malloc(mas1size*sizeof(int));
mas2=(int*)malloc(mas2size*sizeof(int)); ?
Сыроежка
Заблокирован
21.11.2011, 15:12 #4
Цитата Сообщение от Deemk0 Посмотреть сообщение
Не могли бы вы объяснить эти строки :
mas1=(int*)malloc(mas1size*sizeof(int));
mas2=(int*)malloc(mas2size*sizeof(int)); ?
Функция malloc предназначена для динамического выделения участка памяти, размер которого задается аргументом функции. В данном случае, например, в первой строке запрашивается память размером, определяемым выражением mas1size*sizeof(int). То есть запрашивается память под mas1size целых чисел.
Deemk0
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 18
21.11.2011, 15:18  [ТС] #5
для чего вообще писать строки
mas1=(int*)malloc(mas1size*sizeof(int));
mas2=(int*)malloc(mas2size*sizeof(int));
mas3=(int*)malloc((mas1size+mas2size)*sizeof(int)); ?

Ведь в таком виде, объединение двух массивов происходит
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int i, mas1size, mas2size, *mas1, *mas2, *mas3;
        printf ("Vvedite razmeri massivov 1 i 2:\n");
        scanf("%d%d",&mas1size,&mas2size);
        
        printf ("zapolnite pervii massiv:\n");
        for (i=0;i<mas1size;i++)
        scanf("%d",&mas1[i]);
        printf ("zapolnite vtoroy massiv:\n");
        for (i=0;i<mas2size;i++)
        scanf("%d",&mas2[i]);
       
        for (i=0;i<mas1size+mas2size;i++)
   {
                if (i<mas1size) mas3[i]=mas1[i];
                else mas3[i]=mas2[i-mas1size];
   }
        for (i=0;i<mas1size+mas2size;i++)
        printf ("%d ",mas3[i]);
        getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 15:18
Привет! Вот еще темы с ответами:

Объединение TCHAR массивов - C++
есть массив TCHAR szCmdline=TEXT(&quot;C:\\FreePascal\\bin\\win32\\fpc.exe&quot;); но мне в конец этой строки нужно присоединить строку через...

Объединение одномерных массивов - C++
Задано два массива и их размеры. В первом массиве например слово Неllo,а во втором world. Нужно в первый массив записать второй , и потом...

Объединение множеств(массивов) - C++
Например, если у меня есть массивы 123 и 3456, то объединение должно выдать 12345. Подскажите алгоритм объединения множеств. ...

Объединение двух массивов - C++
Всем привет! Есть два массива, в которых есть одинаковые элементы: a={1,2,5,64,23,65,34,6} и b={12,53,12,64,5,2,7,1,23}. Нужно объединить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.11.2011, 15:18
Ответ Создать тему
Опции темы

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