Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.63
oper24
1 / 1 / 1
Регистрация: 12.07.2010
Сообщений: 55
#1

Как из двух массивов создать третий? - C++

15.10.2010, 14:41. Просмотров 5149. Ответов 8
Метки нет (Все метки)

Допустим дан массив А[n] и B[m], как создать массив С[n+m]???
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 14:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как из двух массивов создать третий? (C++):

Из двух массивов создать третий, включающий уникальные элементы первого, с использованием указателей
Ребята, всем доброго вечера! Помогите мне пожалуйста разобраться с моей бИдой. Я дико извиняюсь, если такая тема мусолилась раньше, я...

Создать третий массив, в котором нужно собрать элементы двух заданных массивов
Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: Элементы обоих массивов; -Общие элементы двух...

Как из двух однонаправленных списков создать третий, который состоит из нечетных элементов предыдущих двух?
ребят,подскажите пожалуйста как из двух однонаправленных списка создать третий который состоит из нечетных елементов преведущих двух....

Обьединение двух массивов в третий (с чередованием их елементов). Как сделать задачу?
Дано 2 одинаковых по длине одномерных массива.Нужно обьединить их в 3ий, чередуя елементы 1го и 2го массивов. --- То есть, если у...

Из двух массивов сформировать третий
помогите решить задачу, плиз!!!! из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом:...

Объединение двух массивов в третий
Как это можно сделать?

8
dihlofos
Бродяга
304 / 258 / 56
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 14:51 #2
В смысле сделать массив С, длина которого равна длина A + длина B? Или же нужно сделать сложение массивов?
0
oper24
1 / 1 / 1
Регистрация: 12.07.2010
Сообщений: 55
15.10.2010, 14:55  [ТС] #3
Цитата Сообщение от dihlofos Посмотреть сообщение
В смысле сделать массив С, длина которого равна длина A + длина B? Или же нужно сделать сложение массивов?
массив С должен состоять из элементов мас А и В.
0
dihlofos
Бродяга
304 / 258 / 56
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 15:35 #4
Попробуйте как-нибудь так:
C++
1
2
3
4
5
for(i=0; i<aSize; i++)
    c[i]=a[i];
 
for(i=0; i<bSize; i++)
    c[i+aSize]=b[i];
, где aSize и bSize - размеры a и b соответственно.

Добавлено через 25 минут
Или ещё лучше, ввести дополнительную переменную для индексации массива c. Так можно объединять и большее число массивов.
C++
1
2
3
4
5
int j=0;
for(i=0; i<aSize; i++)
    c[j++] = a[i];
for(i=0; i<bSize; i++)
    c[j++] = b[i];
1
oper24
1 / 1 / 1
Регистрация: 12.07.2010
Сообщений: 55
15.10.2010, 16:00  [ТС] #5
А если так??? Только вот не пойму как вывести на экран mas_sum???


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
const int s1=3, s2=5,s3=s1+s2;
 int mas1[s1],mas2[s2],mas_sum[s1+s2];
 int p=0;
 
 for(int i=0;i<s1;i++){
  mas1[i]=rand()%100;
  cout<<mas1[i]<<" ";
 }
 
 cout<<"\n\n";
 
 for(int i=0;i<s2;i++){
  mas2[i]=rand()%100;
  cout<<mas2[i]<<" ";
 }
 cout<<"\n\n";
 
 for(int i=0;i<s1;i++)
  mas_sum[i]=mas1[i];
 
 
 for(int i=s1;i<s3;i++)
  mas_sum[i]=mas2[p];
  p++;
 
  
 
}
0
dihlofos
Бродяга
304 / 258 / 56
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 16:12 #6
А в чём, собственно проблема?
C++
1
2
3
4
for(int i=0;i<s3;i++)
   {
    cout<<mas_sum[i]<<' ';
   }
Кстати, последний цикл заключите в фигурные скобочки:
C++
1
2
3
4
5
for(int i=s1;i<s3;i++)
{
  mas_sum[i]=mas2[p];
  p++;
}
0
oper24
1 / 1 / 1
Регистрация: 12.07.2010
Сообщений: 55
15.10.2010, 16:29  [ТС] #7
так сейчас попробую...

Добавлено через 12 минут
Все получилось... И еще вопрос за что сдесь отвечает переменная
C++
1
int p=0
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
15.10.2010, 16:30 #8
oper24,
C++
1
2
mas_sum[i]=mas2[p];
  p++;
Счетчик. С нуля и до тех пор пока i<s3
1
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
15.10.2010, 16:36 #9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
 
#define RAND(arr, size, limit) ({ int i; for ( i = 0; i < size; ++i ) arr[i] = rand() % limit; })
#define PRINT(arr, size) ({ int i; for ( i = 0; i < size; ++i ) printf("%d%c", arr[i], i < size - 1 ? ' ' : '\n' ); })
 
#define SIZE_A 7
#define SIZE_B 13
 
int main(void){
    int arr_a[SIZE_A], arr_b[SIZE_B], arr_c[SIZE_A + SIZE_B];
 
    srand(time(NULL));
 
    RAND(arr_a, SIZE_A, 10);
    RAND(arr_b, SIZE_B, 10);
    memcpy(arr_c, arr_a, sizeof(int) * SIZE_A);
    memcpy(arr_c + SIZE_A, arr_b, sizeof(int) * SIZE_B);
 
    printf("A: ");
    PRINT(arr_a, SIZE_A);
    printf("B: ");
    PRINT(arr_b, SIZE_B);
    printf("C: ");
    PRINT(arr_c, (SIZE_A + SIZE_B));
 
    exit(0);
}
1
15.10.2010, 16:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 16:36
Привет! Вот еще темы с решениями:

Перенести записи с двух массивов в третий
Помогите пожалйста))) Очень нужно) Можна идею подсказать как сделать задание, а то я не совсем понимаю как его делать. Задание: ...

На основе двух массивов сформировать третий
Здравствуйте уважаемые программисты, мне завтра сдавать задание, а я все никак не могу разобраться, помогите кто чем может :( Задание ...

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

Из двух массивов одинакового размера получить третий
Даны два массива одного размера. Получить третий массив, каждый элемент которого равен: а)произведению элементов с тем же номером в...


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

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

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