С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 38
#1

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

07.09.2013, 19:17. Просмотров 815. Ответов 6
Метки нет (Все метки)

Вопрос заключается в следующем:


Есть 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];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 19:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Склеивание трех и более массивов (C++):

Склеивание двух массивов - C++
#include <stdafx.h> #include <iostream> #include <stdio.h> #include <ctime> #include <windows.h> #include <iomanip> #include...

Склеивание двух двумерных массивов - C++
Всем привет, нужна помощь, не могу понять как сделать склеивание двух двумерных массивов. Кто нибудь пожалуйста помогите это реализовать)) ...

Программа, запрашивающая пароль не более трех раз - C++
#include "stdafx.h" #include <string> #include <iostream> using namespace std; int main() { system("chcp 1251"); char s,...

Выяснить в каком классе более трех учащихся - C++
информация о учениках состоит из фамилий и класса.выяснить в каком классе более 3х учащихся.помогите написать.

Слияние трех массивов - C++
Помогите пожалуйста написать небольшую программку. Даны три массива A, B, C Написать программу слияния этих массивов. Убидительная...

Генерация трех случайных массивов - C++
Добрый вечер! У меня вот такая задачка: сгенерировать три случайных массива размером в 100 элементов, вывести их на экран и в текстовый...

6
Belfegor
Ghost
173 / 173 / 6
Регистрация: 16.09.2012
Сообщений: 526
07.09.2013, 19:24 #2
используйте std::string;
1
M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 38
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]);
0
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;
   }
0
M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 38
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';                                     // Символ
0
M.t.
0 / 0 / 0
Регистрация: 10.02.2012
Сообщений: 38
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 = ФИО ^^
0
Teplotexnik
1 / 1 / 0
Регистрация: 31.08.2013
Сообщений: 25
07.09.2013, 20:08 #7
Цитата Сообщение от M.t. Посмотреть сообщение
Спасибо, но это не то что нужно =)

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

Программа, которая запрашивает у пользователя пароль не более трех раз - C++
Составьте программу, которая запрашивает у пользователя пароль не более трех раз. Длина пароля должна быть не менее восьми символов. Если...

Box2d лаги при создании более трех динамик объектов - C++
С чем столкнулся когда делал пример что бы понять как управлятся с box2d все решил, но была проблема с тем что при создании динамических...

Написать условие в классе библиотека: запрет выдачи более трех книг - C++
Подскажите как сделать. Я пишу класс библиотека и там я ввожу фамилию того кто взял книгу. Нужно, чтобы сравнивалась и если он взял больше...

Найти число, содержащееся в каждом из трех массивов - C++
Некоторое число содержится в каждом из трех целочисленных неубывающих массивов (массивы расположены по возрастанию). Найти одно из таких...


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

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

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