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

Склеивание трех и более массивов - C++

Восстановить пароль Регистрация
 
M.t.
 Аватар для M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 33
07.09.2013, 19:17     Склеивание трех и более массивов #1
Вопрос заключается в следующем:


Есть 4 разных одномерных массива

C++
1
2
3
4
5
6
char * Name1[5] = {"Имя1", "Имя2," "Имя3", "Имя4", "Имя5",};
char * Name2[5] = {"Имя1", "Имя2," "Имя3", "Имя4", "Имя5",};
char * Name3[5] = {"Имя1", "Имя2," "Имя3", "Имя4", "Имя5",};
 
// Массив для хранения результатов суммы трех массивов
char * SummaName[125];
Как правильно сделать склеивание, между ними, чтобы записать 3 массива в один?

C++
1
2
// Код ниже записывает только содержимое Name1[Index].
SummaName[Index] = Name1[Index], " ", Name2[Index], " ", Name3[Index];
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
07.09.2013, 19:24     Склеивание трех и более массивов #2
используйте std::string;
M.t.
 Аватар для M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 33
07.09.2013, 19:40  [ТС]     Склеивание трех и более массивов #3
Цитата Сообщение от Belfegor Посмотреть сообщение
используйте std::string;


C++
1
2
3
4
5
// Так не работает
std::string SummaName[Index] (Name1[Index], " ", Name2[Index], " ", Name3[Index]);
 
// Так не работает
std::string SummaName[Index] (Name1[Index], Name2[Index], Name3[Index]);
Teplotexnik
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
07.09.2013, 19:49     Склеивание трех и более массивов #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main() {
    char *SummaName[15];
char *Name1[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
char *Name2[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
char *Name3[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
 
for (int i = 0; i<5; i++){
    SummaName[i]=Name1[i];
    SummaName[i+5]=Name2[i];
    SummaName[i+10]=Name3[i];
}
 
for (int i=0;i<15;i++){
    cout <<SummaName[i];
   }
char d;
   cin >> d;
   }
M.t.
 Аватар для M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 33
07.09.2013, 19:53  [ТС]     Склеивание трех и более массивов #5
Цитата Сообщение от M.t. Посмотреть сообщение
C++
1
2
3
4
5
// Так не работает
std::string SummaName[Index] (Name1[Index], " ", Name2[Index], " ", Name3[Index]);
 
// Так не работает
std::string SummaName[Index] (Name1[Index], Name2[Index], Name3[Index]);

Решение
C++
1
2
3
4
5
6
7
8
// Объявить переменные
std::string Name1[5] =  { "Имя1", ... , "Имя5", };
 
// Для остальных проделать тоже самое
 
SummaName[Index] += " Значение ";                         // Строка
SummaName[Index] += Name1[Index];                       // Элемент массива 
SummaName[Index] += '\0';                                     // Символ
M.t.
 Аватар для M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 33
07.09.2013, 19:56  [ТС]     Склеивание трех и более массивов #6
Цитата Сообщение от Teplotexnik Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main() {
    char *SummaName[15];
char *Name1[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
char *Name2[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
char *Name3[5] = {"Имя1", "Имя2", "Имя3", "Имя4", "Имя5"};
 
for (int i = 0; i<5; i++){
    SummaName[i]=Name1[i];
    SummaName[i+5]=Name2[i];
    SummaName[i+10]=Name3[i];
}
 
for (int i=0;i<15;i++){
    cout <<SummaName[i];
   }
char d;
   cin >> d;
   }

Спасибо, но это не то что нужно =)

Нужно чтобы SummaName под например индексом 1 содержала подобный набор : Имя1 + Имя2 + Имя3 = ФИО ^^
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2013, 20:08     Склеивание трех и более массивов
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Teplotexnik
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
07.09.2013, 20:08     Склеивание трех и более массивов #7
Цитата Сообщение от M.t. Посмотреть сообщение
Спасибо, но это не то что нужно =)

Нужно чтобы SummaName под например индексом 1 содержала подобный набор : Имя1 + Имя2 + Имя3 = ФИО ^^
Тогда тебе нужен не массив указателей char а один указатель char на выходе
Yandex
Объявления
07.09.2013, 20:08     Склеивание трех и более массивов
Ответ Создать тему
Опции темы

Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru