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

Вывести все слова по одному в столбик - C++

Восстановить пароль Регистрация
 
maxprig
 Аватар для maxprig
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 21
24.10.2012, 20:57     Вывести все слова по одному в столбик #1
Я написал нечто подобное
Код
#include <iostream>
#include <windows.h>
#include <cstdio>
using namespace std;
int main()
{
    setlocale( LC_ALL,"" );
    int rez, i=0;
    char str[1000];
    cout << "Введи чёнить окда?\n";
    gets(str);
    rez=strlen(str);
    cout << rez;
    cout << str;
    while(i<rez)
    {
        if(str[i]=' ')
        {
            str[i]='\n';
        }
        i++;
    }
    cout << str;
}
Задача следующая, вывести все слова из фразы которую ввёл пользователь по одному.
Я думал вычислить длину строки и проверить каждый символ, типа если пробел, то заменить на \n
Но что то выходит что перенос строки происходит столько раз, сколько символов в строке, которую ввёл пользователь...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.10.2012, 21:05     Вывести все слова по одному в столбик #2
C
1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
#include<string.h>
int main()
{
   char s[1024], *w;
   fgets(s, 1024, stdin);
   for(w = strtok(s, " \n\t"); w; w = strtok(NULL, " \n\t"))
      puts(w);
   return 0;
}
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
24.10.2012, 21:06     Вывести все слова по одному в столбик #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
 
using namespace std;
 
 
int main(){
    setlocale(LC_ALL, "");
    char str[100];
    cout << "Введите строку:";
    cin.getline(str, 100);
    const char *delims = " \t\n,.?!";
    char *token = strtok(str, delims);
    while(token){
        cout << token << '\n';
        token = strtok(NULL, delims);
    }
 
    return 0;
}
maxprig
 Аватар для maxprig
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 21
24.10.2012, 21:08  [ТС]     Вывести все слова по одному в столбик #4
Огроменное спасибо, если не сложно, могли бы вы прокоментировать код, интересно как так выходит, сам только начинаю...
Yandex
Объявления
24.10.2012, 21:08     Вывести все слова по одному в столбик
Ответ Создать тему
Опции темы

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