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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
#1

Сложение строк - C++

21.08.2012, 15:41. Просмотров 1603. Ответов 8
Метки нет (Все метки)

смысл программы: вводим с клавиатуры строки....они запихиваются в вектор, когда мы прекращаем ввод они суммируются алгоритмом accumulate() и выводятся на екран как одна строка.....проблема в том, что на экран выводится не сумма строк, последняя, которую мы ввели!!!!
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<vector>
#include<numeric>
#include<string>
using namespace std;
 
int main() 
{   
   string buff, sum("");
   vector<string> t;
   while(cin>>buff);
   t.push_back(buff);
   cout<< endl << endl;
   cout<< accumulate(t.begin(), t.end(), sum) << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложение строк (C++):

Сложение строк - C++
Как сложить 2 строки по символьно ?

Сложение строк - C++
Правильно ли я выполнил сложение строк? выдаёт ошибку что-то #include &lt;stdio.h&gt; #include &lt;string.h&gt; void main() { char...

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

Сложение векторов строк - C++
Имеются два вектора строк std::vector &lt;std::string&gt; *str1; std::vector &lt;std::string&gt; *str2; Как их сложить чтоб в итоге...

Сложение двух строк - C++
вот написал что то вроде так... но не получается... что дополнить или изменить? int _tmain(int argc, _TCHAR* argv) { char a =...

Сложение двух строк - C++
Проблема: не могу получть результат. Что у меня не так? class base { private: char* str; int size; public: base(...

8
mysnk
22 / 21 / 3
Регистрация: 09.06.2011
Сообщений: 76
21.08.2012, 15:46 #2
while(cin>>buff);
уберите точку с запятой
1
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
21.08.2012, 15:46 #3
Хулиган,
C++
1
while(cin>>buff);
Лишняя точка с запятой.
1
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.08.2012, 15:46 #4
на пробелах и отсупах не экономь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <numeric>
#include <string>
 
int main() 
{   
   std::string buff, sum;
   std::vector<std::string> t;
 
   while(std::cin >> buff)//;
       t.push_back(buff);
 
   std::cout << std::endl << std::endl << std::accumulate(t.begin(), t.end(), sum) << std::endl;
}
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
21.08.2012, 15:53  [ТС] #5
Цитата Сообщение от Jupiter Посмотреть сообщение
на пробелах и отсупах не экономь
ещё вопрос по поводу пробелов: если я налеплю пробелов(где то меньше где то больше) мне никто не скажет фууу понаставил кучу пробелов?))они не влияют на память?

Добавлено через 36 секунд
спс за помощь))
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
21.08.2012, 15:54 #6
Цитата Сообщение от Хулиган Посмотреть сообщение
они не влияют на память?
Не влияют. Хорошенько подумайте перед тем, как задать подобный вопрос.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
21.08.2012, 15:56  [ТС] #7
Цитата Сообщение от Mиxaил Посмотреть сообщение
Не влияют. Хорошенько подумайте перед тем, как задать подобный вопрос.
та я уже понял всю глупость своего вопроса)
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.08.2012, 15:58 #8
Цитата Сообщение от Хулиган Посмотреть сообщение
они не влияют на память?
один пробел - это один байт исходника! не бинарника
а что эти байты на наши терабайты!?
1
System16v
3 / 3 / 0
Регистрация: 19.02.2014
Сообщений: 115
22.04.2015, 13:40 #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
31
32
33
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <math>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 
void article(char *[]);
 
int main()
{
 srand(time(0));
 
 int const size=250;
 char *array=new char[size];
 
 article(&array);
 
 cout << array;
 cout << endl;
 system("pause");
 return 0;
}
void article(char *w1[])
{
  char *ar[]={"their about onetuch something where"};
 
  w1[0]=strtok(ar[0]," ");
  strcat(w1[0]," - ");
  strcat(w1[0],&w1[0][0]); // нужно присоединить 1ый символ 1го слова
}
А он присоединяет весь массив еще раз,плюс еще отдельные символы остальных слов.Как сделать чтоб именно 1ый символ прибавлялся? Пытался убрать прибавления без адреса,выдает ошибку.

Добавлено через 12 минут
Даже просто не могу понять че за ерунда.Когда просто пытаюсь прибавить к массиву самого себя
C++
1
strcat(w1[0],w1[0]);
- он прибавляет еще часть массива ar,почему?

Добавлено через 23 минуты
И еще интересно,если написать так
C++
1
2
3
w1[0]=strtok(ar[0]," ");
  strcat(w1[0]," - ");
  strcat(w1[0],&w1[0][5]);
то выводит правильно "their - -",а если указывать любой другой символ,выводит скопированый символ + непонятную часть массива ar. Да что ж такое , подскажите плз.Что не так?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2015, 13:40
Привет! Вот еще темы с ответами:

Сложение текстовых строк. - C++
Vsem Hi! Est' takaya problema. U menya function prinimaet kak parametr imya fila - eto viglyadit tak: ...

Сложение двух строк, ошибки - C++
Подскажите пожалуйста где я допустил ошибки, всё никак программа не заработает. Код: #include &lt;iostream&gt; #include &lt;clocale&gt; ...

Сделать сложение двух строк - C++
Всем привет. Бьюсь об задачу. Есть два символьных массива с литералами. На выходе необходимо получить ответ. Часть кода //Применить...

Сложение строк, перегрузка + в классе - C++
Есть вот класс String как мне перегрузить + что бы я мог использовать так a = &quot;Hello&quot;+ b; тоисть мне объекту b нужно сложить со строкой...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
22.04.2015, 13:40
Ответ Создать тему
Опции темы

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