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

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

Войти
Регистрация
Восстановить пароль
 
Dark Illusion
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 31
#1

Конкатенация строк - C++

31.05.2013, 01:18. Просмотров 871. Ответов 4
Метки нет (Все метки)

Здравствуйте. Имеется функция - Concat(s1,s2). Назначение - конкатенация строк s1 и s2 (конкатенцаия - это операция склеивания объектов линейной структуры, обычно строк. Например, конкатенация слов «микро» и «мир» даст слово «микромир»). Необходимо разработать два варианта заданной функции - используя традиционную обработку массивов и используя адресную арифметику. Используя традиционную обработку массивов я сделал, а вот второй способ не получается реализовать.
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>
//---------------------------------------------------------------------------
void ConCat (char *Str1, char *Str2, char *FullStr)
{
  strcat(FullStr,Str1);
  strcat(FullStr,Str2);
}
//---------------------------------------------------------------------------
int main()
{
  char s1[] = "kino";
  char s2[] = "teatr";
  char fs[20] = { NULL };
  ConCat(s1,s2,fs);
 
  std::cout << fs << std::endl;
  std::system("pause");
 
  return 0;
}
//-------------------------------------------------------
Вот первый способ. Помогите, пожалуйста, реализовать программу вторым способом. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2013, 01:18     Конкатенация строк
Посмотрите здесь:

C++ Конкатенация строк
C++ конкатенация строк
C++ Конкатенация строк
Конкатенация строк C++
Конкатенация строк C++
конкатенация строк C++
Конкатенация строк C++
C++ Конкатенация строк
Конкатенация строк C++
C++ Конкатенация строк
C++ Конкатенация строк s1 и s2
Конкатенация строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
31.05.2013, 01:46     Конкатенация строк #2
Ничего сложного. Создаете два массива ch1[256] и ch2[128].
В первый читаете первую строку во второй вторую. После чего создаете цикл с кол-вом итераций равным 128.
А внутри цикла выполняете вот это действие:ch1[128+i]=ch2[i];
Ну это естественно будет смотреться не очень. Советую вам добавить код, который будет узнавать длинну введеных строк и в соответствии с этим подкорректировать число циклов и смещение относительно первой строки.
Максим2001
7 / 7 / 1
Регистрация: 11.01.2012
Сообщений: 85
31.05.2013, 01:52     Конкатенация строк #3
На вскидку:
C++
1
2
FullStr = Str1;
strcpy(FullStr+Str1.length(),Str2);
По моему как-то так...
Dark Illusion
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 31
31.05.2013, 12:13  [ТС]     Конкатенация строк #4
Демик, а можно полный код, пожалуйста?

Добавлено через 11 секунд
Максим2001, а можно полный код, пожалуйста?
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
01.06.2013, 16:54     Конкатенация строк #5
Хаха, алгоритм описали, пиши сам, за тебя никто ничего не сделает.
Yandex
Объявления
01.06.2013, 16:54     Конкатенация строк
Ответ Создать тему
Опции темы

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