Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 21:24   #11
smaiq
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 16
По умолчанию

просто ниразу не решал задачи с текстовыми данными, думал это проканает для них
smaiq вне форума Ответить с цитированием
Старый 24.12.2012, 21:28   #12
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

для строк тебе нужно использовать класс std::string
Rififi вне форума Ответить с цитированием
Старый 24.12.2012, 21:32   #13
smaiq
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 16
По умолчанию

а поподробней можно? очень туго с этим
smaiq вне форума Ответить с цитированием
Старый 24.12.2012, 21:39   #14
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

вот как можно получить текст и загнать его в массив слов (инклуды пропускаю)
тебе остается только:
- отрезать точку на конце
- найти в массиве слова, которые не повторяются

Код:
std::string text;
std::getline(std::cin, text);

std::string w;
std::istringstream ss(text);
std::vector<std::string> words;

while (ss >> w)
    words.push_back(w);
Rififi вне форума Ответить с цитированием
Старый 24.12.2012, 22:05   #15
smaiq
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 16
По умолчанию

переделал, но программа выполняет не ту задачу, не подскажешь в чем ошибка?
Цитата:
#include "iostream"
#include <conio.h>
#include <string>

using namespace std;

int main()
{
string s1, s2;
getline(cin,s1,'.');
int l, j, k;
l = s1.length();
s2 = ' ';
j = 0;
k = 0;
for(int i = 0; i < l; i++)
{
if(s1[i] != ' ')
{
s2[k] = s1[i];
k ++;
s2 = s2 + ' ';
}
else
{
j = s1.find(s1);
for(int c = i; c < l; c++)
if (s1.substr(c, s2.length()) == s2 && j != c && s1[c-1] == ' ')
cout << s2;
s2 = ' ';
k = 0;
}
}
cout << endl;
getch();
return 0;
}
smaiq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Дан набор слов, разделенных ";" набор заканчивается ":".Определить ,сколько в нем слов,заканчивается буквой а _Алексей_ Помощь студентам 1 29.04.2012 15:21
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04