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

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

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

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

21.08.2012, 15:41. Просмотров 1558. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 15:41     Сложение строк
Посмотрите здесь:

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mysnk
22 / 21 / 3
Регистрация: 09.06.2011
Сообщений: 76
21.08.2012, 15:46     Сложение строк #2
while(cin>>buff);
уберите точку с запятой
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.08.2012, 15:46     Сложение строк #3
Хулиган,
C++
1
while(cin>>buff);
Лишняя точка с запятой.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 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;
}
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
21.08.2012, 15:53  [ТС]     Сложение строк #5
Цитата Сообщение от Jupiter Посмотреть сообщение
на пробелах и отсупах не экономь
ещё вопрос по поводу пробелов: если я налеплю пробелов(где то меньше где то больше) мне никто не скажет фууу понаставил кучу пробелов?))они не влияют на память?

Добавлено через 36 секунд
спс за помощь))
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
21.08.2012, 15:54     Сложение строк #6
Цитата Сообщение от Хулиган Посмотреть сообщение
они не влияют на память?
Не влияют. Хорошенько подумайте перед тем, как задать подобный вопрос.
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
21.08.2012, 15:56  [ТС]     Сложение строк #7
Цитата Сообщение от Mиxaил Посмотреть сообщение
Не влияют. Хорошенько подумайте перед тем, как задать подобный вопрос.
та я уже понял всю глупость своего вопроса)
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.08.2012, 15:58     Сложение строк #8
Цитата Сообщение от Хулиган Посмотреть сообщение
они не влияют на память?
один пробел - это один байт исходника! не бинарника
а что эти байты на наши терабайты!?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2015, 13:40     Сложение строк
Еще ссылки по теме:

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

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

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

Сложение строк strcat и указатели - C++
Я уже второй день бьюсь над проблемой складывания строк. В общем, код: char extensionOfBinaryFile = &quot;.bin&quot;; char nameOfBinaryFile =...

Перегрузка оператора operator+() в пользовательском классе (сложение строк) - C++
Хотел научить класс складывать строки, но на моменте освобождения памяти temp происходит ошибка. Поля класса: char* Str, int length...


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

Или воспользуйтесь поиском по форуму:
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. Да что ж такое , подскажите плз.Что не так?
Yandex
Объявления
22.04.2015, 13:40     Сложение строк
Ответ Создать тему
Опции темы

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