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

Дано предложение. Напечатать все различные слова - C++

Восстановить пароль Регистрация
 
Saddiel
 Аватар для Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
24.03.2013, 16:34     Дано предложение. Напечатать все различные слова #1
Здравствуйте уважаемые форумчане. Дано предложение. Напечатать все различные слова... Как тут быть, какие идеи..?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 16:34     Дано предложение. Напечатать все различные слова
Посмотрите здесь:

Дано предложение. Вывести все различные слова. C++
Дано предложение. Вывести все различные слова C++
Дано предложение. Вывести все различные слова. C++
C++ Напечатать все различные слова, указав для каждого из них число его вхождений в последовательность
C++ Дано предложение. Напечатать все слова в порядке возрастания их длин
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 16:55     Дано предложение. Напечатать все различные слова #2
Забить слова в массив, используя функцию вроде strtok, потом вывести, например
Saddiel
 Аватар для Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
24.03.2013, 16:56  [ТС]     Дано предложение. Напечатать все различные слова #3
Цитата Сообщение от saaresto Посмотреть сообщение
Забить слова в массив, используя функцию вроде strtok, потом вывести, например
спасибо, попробуем.. если есть еще какие идеи, то пишите, а то я ДНО в с++
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
24.03.2013, 17:01     Дано предложение. Напечатать все различные слова #4
http://cplusplus.com/reference/cstri...tok/?kw=strtok
Вот вариант, если эти слова нигде хранить не надо, просто вывести
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
24.03.2013, 17:16     Дано предложение. Напечатать все различные слова #5
Уже дано предложение ??или его еще вводить будут ??
Если вводить будут то вначале cin.getline а потом с помощью цикла разбиваешь на слова и записываешь их в массив. И выводишь массив.
Разбиение на слова с помощью цикла который ищет в строке ' '
Saddiel
 Аватар для Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
24.03.2013, 21:10  [ТС]     Дано предложение. Напечатать все различные слова #6
Цитата Сообщение от Banddk Посмотреть сообщение
Уже дано предложение ??или его еще вводить будут ??
Если вводить будут то вначале cin.getline а потом с помощью цикла разбиваешь на слова и записываешь их в массив. И выводишь массив.
Разбиение на слова с помощью цикла который ищет в строке ' '
уже дано предложение. походу

Добавлено через 27 минут
Ну вот смотрите программа -

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] ="Oh my god, is it true story, bro!"; // Задаем строку
  char * pch; // Задаем указатель целочисленного типа
  printf ("PREDLOJENIE \"%s\" SO SLOVAMI:\n",str); // Выводим текст + нашу строчку с предложением
  pch = strtok (str," ,.-"); // 1
  while (pch != NULL) // 2
  {
    printf ("%s\n",pch); // 3
    pch = strtok (NULL, " ,.-"); // 4
  }
  return 0; // возвращение значения функции
}
В комментах правильно? И вот где 1,2,3 можете подсказать, а то чего то я разобраться не могу. Кого то может на "хаха" пробить, но я такой.. Заранее спасибо..

Добавлено через 39 минут
мы типа ищем в строке символы до пробела, либо знаков, считаем его как слово и выводим каждое слово с новой строки?.. помогите выразиться нормально и точно тормозу

Добавлено через 2 часа 45 минут
не хочется клянчить и дрочить тему, но подскажите хоть правильно я рассуждал или нет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 00:41     Дано предложение. Напечатать все различные слова
Еще ссылки по теме:

C++ Дано предложение. Напечатать самое длинное слово
C++ Дано предложение. В нем только два слова одинаковые. Найти эти слова
C++ Дано предложение, где два слова различны. Найти эти слова

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.03.2013, 00:41     Дано предложение. Напечатать все различные слова #7
Дано предложение. Напечатать все различные слова...
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
34
35
36
37
38
39
40
41
42
43
44
45
#include <cstring>
#include <iostream>
 
int main()
{
    using namespace std;
 
    char str[256] = "";
    cin.getline(str, sizeof(str));
 
    const char* delim = " ,.:;?!\t";
    char* token[256] = {NULL};
    int n = 0;
 
    // разбиваем строку на слова
    token[n] = strtok(str, delim);
    while(token[n] != NULL)
    {
        ++n;
        token[n] = strtok(NULL, delim);
    }
 
    // удаляем повторы
    for(int i = 0; i < n - 1; ++i)
    {
        int src_idx = i + 1;
        int dest_idx = src_idx;
 
        while(src_idx < n)
        {
            if(strcmp(token[src_idx], token[i]) != 0)
            {
                token[dest_idx] = token[src_idx];
                ++dest_idx;
            }
            ++src_idx;
        }
 
        n = dest_idx;
    }
 
    // выводим результат
    for(int i = 0; i < n; ++i)
        cout << token[i] << '\n';
}
Yandex
Объявления
25.03.2013, 00:41     Дано предложение. Напечатать все различные слова
Ответ Создать тему
Опции темы

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