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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.63
oper24
1 / 1 / 0
Регистрация: 12.07.2010
Сообщений: 55
#1

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

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

Допустим дан массив А[n] и B[m], как создать массив С[n+m]???
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 14:41     Как из двух массивов создать третий?
Посмотрите здесь:
Создать третий массив, в котором нужно собрать элементы двух заданных массивов C++
Из двух массивов создать третий, включающий уникальные элементы первого, с использованием указателей C++
C++ Как из двух однонаправленных списков создать третий, который состоит из нечетных элементов предыдущих двух?
C++ Обьединение двух массивов в третий (с чередованием их елементов). Как сделать задачу?
C++ Из двух массивов сформировать третий
Объединение двух массивов в третий C++
C++ Перенести записи с двух массивов в третий
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 14:51     Как из двух массивов создать третий? #2
В смысле сделать массив С, длина которого равна длина A + длина B? Или же нужно сделать сложение массивов?
oper24
1 / 1 / 0
Регистрация: 12.07.2010
Сообщений: 55
15.10.2010, 14:55  [ТС]     Как из двух массивов создать третий? #3
Цитата Сообщение от dihlofos Посмотреть сообщение
В смысле сделать массив С, длина которого равна длина A + длина B? Или же нужно сделать сложение массивов?
массив С должен состоять из элементов мас А и В.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 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];
oper24
1 / 1 / 0
Регистрация: 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++;
 
  
 
}
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 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++;
}
oper24
1 / 1 / 0
Регистрация: 12.07.2010
Сообщений: 55
15.10.2010, 16:29  [ТС]     Как из двух массивов создать третий? #7
так сейчас попробую...

Добавлено через 12 минут
Все получилось... И еще вопрос за что сдесь отвечает переменная
C++
1
int p=0
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
15.10.2010, 16:30     Как из двух массивов создать третий? #8
oper24,
C++
1
2
mas_sum[i]=mas2[p];
  p++;
Счетчик. С нуля и до тех пор пока i<s3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 16:36     Как из двух массивов создать третий?
Еще ссылки по теме:
На основе двух массивов сформировать третий C++
C++ Из данных двух массивов образовать третий массив
C++ Из двух массивов, упорядоченных по возрастанию, получить третий
Слияние двух массивов, заполненных случайными числами, в третий C++
Переписать в третий массив элементы данных двух массивов C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
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);
}
Yandex
Объявления
15.10.2010, 16:36     Как из двух массивов создать третий?
Ответ Создать тему
Опции темы

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