Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача на поиск в тексте 
:(
    Опции темы
Гость_зайка
Дата 15.3.2005, 14:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ если вам не сложно можете объяснить как написать эту програмку. Программировать начала недавно поэтому ничего не понимаю, пожалуйста помогите smile
вот задачка:
Дан текст. Подсчитать в этом тексте количество идентификаторов и десятичных записей чисел.

  Вверх
Guest
Дата 15.3.2005, 14:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ой забыла
написать для Windows, на С
  Вверх
Alx
Дата 16.3.2005, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



Модератор: тема перенесена в C.


--------------------
PM MAIL WWW ICQ   Вверх
_hunter
Дата 16.3.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



теперь чуть плдробнее...
что вообще за текст ( что служит разделителем записей )?
что такое идентификатор и что такое десятичная запись числа?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
zayka
Дата 16.3.2005, 17:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











идентификаторами являются совокупность букв(латинских), цифр и символа подчеркивания, начинающиеся либо с буквы либо с символа подчеркивания.

Задачку я уже решила, но она у меня немного не так работает, как сделать чтобы за идентификаторами он считал только латинские слова, а то получается что русские слова тоже идентификаторы.
Код

#include <stdio.h> 
#include <ctype.h> 
#include <string.h> 
#include <stdlib.h> 

int main() 
{ 
    int ch; 
    size_t numbers = 0; 
    size_t ids = 0; 
    
    while ((ch = getchar()) != EOF && (ch!='\n')) 
    { 
        if (isalpha(ch)) 
        { 
            ids++; 
            while ((ch = getchar()) != EOF && isalnum(ch)) ; 
            if (ch != EOF) 
                ungetc(ch, stdin); 
        } 
        else if (isdigit(ch)) 
        { 
            numbers++; 
            while ((ch = getchar()) != EOF && isdigit(ch)) ; 
            if (ch != EOF) 
                ungetc(ch, stdin); 
        } 
    } 
    printf("identifiers: %d\nnumbers: %d\n", ids, numbers); 
    return 0; 
}

  Вверх
_hunter
Дата 16.3.2005, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



пробегаеш по выделенному идентификатору и смотриш чтобы каждый символ был >= 'a' && <= 'z' ( если нужно -- аналогично с верхним регистром )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Zzz
Дата 16.3.2005, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 306
Регистрация: 21.2.2003
Где: Мурманск

Репутация: 1
Всего: 5



Создай свою функцию:
Код

int isMyalpha(int c)

которая сравнивает "с" с множеством символов(которые тебе нужны) и возвращает ноль или нет (по образу isalpha).


--------------------
Бесполезной громоздкой надстройкой является Windows от Майкрософт. Она занимает 1Мб памяти диска и рассчитана на использование устройства типа мышь.

"ЭВМ в инженерной практике" М. 1989г.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.