Консультация № 183217
17.05.2011, 20:30
57.27 руб.
17.05.2011, 22:52
0 9 2
Здравствуйте! Прошу помощи в следующем вопросе:
составить алгоритм, определяющий кол-во слов во входном потоке, и по этому алгоритму составить программу.
СПАСИБО!

Обсуждение

давно
Академик
320937
2216
17.05.2011, 20:47
общий
17.05.2011, 20:47
Добрый вечер! Язык программрования имеет значение? С уважением.
давно
Мастер-Эксперт
325460
1469
17.05.2011, 20:49
общий
входной поток это буквы???
слова считать набор букв разделенных пробелами?
Указана ли длина потока?
На каком языке программирования писать?
Об авторе:
to live is to die
давно
Академик
320937
2216
17.05.2011, 20:55
общий
17.05.2011, 20:56
Например, у Ричи и Кернигана читаем.
Код:
#include <stdio.h>

#define IN 1 /* внутри слова */
#define OUT 0 /* вне слова */

/* подсчет строк, слов и символов */
int main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
return 0;
}

Не стал удалять из примера подсчет символов: жалко :)
Неизвестный
17.05.2011, 22:47
общий
яз. програм. си
давно
Академик
320937
2216
17.05.2011, 22:52
общий
это ответ
Здравствуйте, Cмирнов Игорь!
Пример разобран у Ричи и Кернигана.
Код:
#include <stdio.h>
#define IN 1 /* внутри слова */
#define OUT 0 /* вне слова */

/* подсчет слов */
/* Ричи, Керниган */
int main()
{
int c, nw, state;
state = OUT;
nw = 0;
while ((c = getchar()) != EOF) {
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d\n", nw);
return 0;
}

Блок-схема подготовлена при помощи программы diamfc

Удачи!
давно
Академик
320937
2216
17.05.2011, 22:54
общий
Блок-схема требуется?
давно
Профессор
230118
3054
18.05.2011, 02:37
общий
это ответ
Здравствуйте, смирнов игорь!

Программа на языке C++.

Код:

#include <iostream>
#include <string>

using namespace std;
int main()
{
int count=0;
string str;
while (!cin.eof())
{
cin>>str;
count++;
}
cout<<count-1;
return 0;
}

Неизвестный
18.05.2011, 20:32
общий
если можно то с блок схемой
давно
Академик
320937
2216
18.05.2011, 20:56
общий
Добавлена!
Форма ответа