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

Вывести на экран каждое третье слово строки используя указатели - C++

Восстановить пароль Регистрация
 
Нас_96
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 68
13.03.2016, 14:49     Вывести на экран каждое третье слово строки используя указатели #1
Пользователь вводит с клавиатуры строку – предложение с пробелами и знаками пунктуации длиной до 100 символов. Вывести на экран каждое третье слово.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    #include <iostream>
    #include <conio.h>
 
    using namespace std;
 
    char s[100];
 
    int main()
    {
        char *ps = &s[0];
 
        cout<<"\n Input the string: ";
        gets(s);
 
         for (int i=0; i<100; i++, *ps++) 
        {
            if (!(i % 3)) {
                    cout<<"\n";  }
            cout<< *ps ;
        }  
 
        _getch();
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2016, 14:49     Вывести на экран каждое третье слово строки используя указатели
Посмотрите здесь:

Ввести строку вывести каждое слово из этой строки с кол-ом повторений этого слова учитывая все знаки препинания... C++
Как вывести строку, которая состоит из аргументов командной строки так, чтобы каждое слово выводилось без первого символа C++
Строки. Вывести на экран слово максимальной длинны C++
Вывести каждое слово из файла на экран C++
Вывести строку, заключающую каждое слово введенно строки в скобки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
13.03.2016, 14:57     Вывести на экран каждое третье слово строки используя указатели #2
Нас_96, в чем проблема? Считайте пробелы и после второго (и т.д.) выводите ваши слова.
Нас_96
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 68
13.03.2016, 20:48  [ТС]     Вывести на экран каждое третье слово строки используя указатели #3
Ryuk, Но как можно выводить слова после второго
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
13.03.2016, 21:15     Вывести на экран каждое третье слово строки используя указатели #4
Нас_96, проходите по вашей строке циклом, считая пробелы. При первом выводе будет 2 пробела, после уже будут идти по 3. В условии проверяете, если было 2 пробела и предыдущий символ - пробел, то выводить до следующего пробела и т.д.
Нас_96
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 68
14.03.2016, 03:39  [ТС]     Вывести на экран каждое третье слово строки используя указатели #5
В этом случаев только каждые три символа. Как можно вывести на экран каждое третье слово.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
14.03.2016, 09:34     Вывести на экран каждое третье слово строки используя указатели #6
Цитата Сообщение от Нас_96 Посмотреть сообщение
В этом случаев только каждые три символа
Какие 3 символа?
Вот вывод слова:
C++
1
2
while ((c = getchar()) != ' ')
        puthcar(c);
Вам остается отследить пробелы.
Нас_96
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 68
14.03.2016, 14:48  [ТС]     Вывести на экран каждое третье слово строки используя указатели #7
Так что он делится на слова. Так что он делится на слова.Как можно вывести на каждое третье слово.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    #include <iostream>
    #include <conio.h>
    #include <cstring>
 
    using namespace std;
 
    int main()
    {
        char s[100];
        char *ps;
        cout<<"\n Input the string: ";
        gets(s);
        ps = strtok(s," ");
        while (ps != NULL) {
            cout<<ps<<endl;
            ps = strtok(NULL, " "); }   
 
        _getch();
    }
Нас_96
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 68
27.03.2016, 19:16  [ТС]     Вывести на экран каждое третье слово строки используя указатели #8
Пользователь вводит с клавиатуры строку – предложение с пробелами и знаками пунктуации длиной до 100 символов. Вывести на экран каждое третье слово.

Так что он делится на слова. Как можно вывести на каждое третье слово?.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <cstring>
 
using namespace std;
 
int main()
{
char s[100];
char *ps;
cout<<"\n Input the string: ";
gets(s);
ps = strtok(s," ");
while (ps != NULL) {
cout<<ps<<endl;
ps = strtok(NULL, " "); } 
 
_getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2016, 19:29     Вывести на экран каждое третье слово строки используя указатели
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Babysitter
 Аватар для Babysitter
78 / 103 / 34
Регистрация: 23.11.2015
Сообщений: 315
Завершенные тесты: 1
27.03.2016, 19:29     Вывести на экран каждое третье слово строки используя указатели #9
Нас_96, вместо
C++
1
2
3
4
ps = strtok(s," ");
while (ps != NULL) {
cout<<ps<<endl;
ps = strtok(NULL, " "); }
нужно что-то типа
C++
1
2
3
4
5
6
ps = strtok(s," ");
for (int i = 0; ps != NULL; ++i) {
    if( i != 0 && (i+1)%3 == 0)
        cout<<ps<<endl;
    ps = strtok(NULL, " ");
}
Добавлено через 7 минут
условие даже избыточно, достаточно if((i+1)%3 == 0)
Yandex
Объявления
27.03.2016, 19:29     Вывести на экран каждое третье слово строки используя указатели
Ответ Создать тему
Опции темы

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