выделить массив симмволов, с которых может начинаться слово. либо диапазон проверять, если знаете какая codepage будет использоваться at runtime. смотрим символ: если он не в числе вышеуказанных, значит это не слово, а пробел или что-то еще (запятая, тчк). как только встретится первый символ из набора — вот оно начало.
ifstream.get
ifstream.read
ifstream.readsome
для вытасквания символом по одному эти ф-ции подойдут.
ну,это,конечно,да. но если текст не по человечески(а так оно и есть)то как начать читать слово,ведь перед ним может стоять любой знак препинания,пробел(и не один,но тут все понятно).короче,как определить начало слова??
Прежде чем искать третий символ, нужно прочитать "слово", т.е. последовательность символов от одного разделителя до другого (разделители придётся определить самостоятельно. Например: пробел, табуляция, перевод строки). А уж потом смотреть третий символ и если он оказался "с", то увеличивать счётчик.
Возможно, не нужно извращаться с разделителями =) Если это пробельные символы. Или если гарантируется, что в начале слова нет знаков препинания и прочей гадости (что верно, если текст написан по-человечески). Естественно, с формальной точки зрения все не так.
А так можно в лоб использовать scanf("%s", …) или ifstream.
Третий символ берется, опять же, в лоб… s[2] (если, конечно, не нумеровать с нуля ) Еще полезно проверить, что строка состоит минимум из 3х символов…
че-то вспоминается фраза "я не волшебник,я только учусь…" (: ну да ладно.
проблема вот в чем:прога должна читать из файла какой-нить текст и выводитьколичество слов с буквой «С» третьим символом.с файлом открыть-читать все путем,а вот какую функцию надо использовать для нахождения 3-го символа???(С++ рулит)
подскажите,а?
8 марта 2008 в 15:02
ну,теперь будешь знать =)))
8 марта 2008 в 2:01
эх, знать бы раньше=))
7 марта 2008 в 13:05
это_буква?(с)
//www.cplusplus.com/reference/clibrary/cctype/i...
7 марта 2008 в 7:03
из любопытства: что проверяет функция isalpha()?
6 марта 2008 в 20:00
ага,спасибки)) ща попробую))
6 марта 2008 в 10:05
#include <string.h>
#include <fstream>
char c;
c = ifstream.peek();
if (isalpha(c)) // читаем слово
6 марта 2008 в 0:02
выделить массив симмволов, с которых может начинаться слово. либо диапазон проверять, если знаете какая codepage будет использоваться at runtime. смотрим символ: если он не в числе вышеуказанных, значит это не слово, а пробел или что-то еще (запятая, тчк). как только встретится первый символ из набора — вот оно начало.
ifstream.get
ifstream.read
ifstream.readsome
для вытасквания символом по одному эти ф-ции подойдут.
5 марта 2008 в 23:03
бесспорно.)))))))))) тогда через какую функцию это делать?
5 марта 2008 в 23:01
Слово начинается с Буквы.
5 марта 2008 в 22:05
ну,это,конечно,да. но если текст не по человечески(а так оно и есть)то как начать читать слово,ведь перед ним может стоять любой знак препинания,пробел(и не один,но тут все понятно).короче,как определить начало слова??
5 марта 2008 в 22:01
Прежде чем искать третий символ, нужно прочитать "слово", т.е. последовательность символов от одного разделителя до другого (разделители придётся определить самостоятельно. Например: пробел, табуляция, перевод строки). А уж потом смотреть третий символ и если он оказался "с", то увеличивать счётчик.
5 марта 2008 в 22:01
Возможно, не нужно извращаться с разделителями =) Если это пробельные символы. Или если гарантируется, что в начале слова нет знаков препинания и прочей гадости (что верно, если текст написан по-человечески). Естественно, с формальной точки зрения все не так.
А так можно в лоб использовать scanf("%s", …) или ifstream.
Третий символ берется, опять же, в лоб… s[2] (если, конечно, не нумеровать с нуля ) Еще полезно проверить, что строка состоит минимум из 3х символов…
5 марта 2008 в 22:00
че-то вспоминается фраза "я не волшебник,я только учусь…" (: ну да ладно.
проблема вот в чем:прога должна читать из файла какой-нить текст и выводитьколичество слов с буквой «С» третьим символом.с файлом открыть-читать все путем,а вот какую функцию надо использовать для нахождения 3-го символа???(С++ рулит)
подскажите,а?