Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2010, 16:45   #1
Keetotko
 
Регистрация: 16.11.2009
Сообщений: 6
По умолчанию Числа отдельно, хлам отдельно

Что требуется:
При вводе строки:

1. Считать количество слов (например, если введена строка "111 111", то количество слов равно 2).
2. Считать количество чисел (под числом понимается слово, состоящее только из цифр. например: в строке "слово 111 слово 111с" количество числе равно 1, т.к. "111с" за число уже не считается).

---------------

Что сделано:
Количество слов уже считается. А вот как отделять числа от хлама - придумать не могу уже несколько дней. Подскажите кто-нить чо-нить.

Вот код:
Снимок.JPG

Спасибо всем, кто откликнется.

Последний раз редактировалось Keetotko; 07.10.2010 в 16:49.
Keetotko вне форума Ответить с цитированием
Старый 07.10.2010, 16:51   #2
Tema_Crazzzy
Форумчанин
 
Регистрация: 29.04.2010
Сообщений: 114
По умолчанию

Можно выделять слова из текста функцией strtok. Затем проверять ASCII код каждого символа слова. Если код символа в слове не в ходит в диапазон кодов цифр то возвращаем false.....Как то так.
Tema_Crazzzy вне форума Ответить с цитированием
Старый 07.10.2010, 17:12   #3
Keetotko
 
Регистрация: 16.11.2009
Сообщений: 6
По умолчанию

а поподробнее, как это сделать?
я просто пока новобранец в этом всем, и до таких функций еще не добрался...
Keetotko вне форума Ответить с цитированием
Старый 07.10.2010, 18:26   #4
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

выбираешь слово от текста с помощью буфера какого-нибудь char[n].Нашёл пробел начал считывать в буфер нашёл ещё один пробел перестал считывать.
пишешь функцию которая возвращает тип bool

bool check(char a[n])
{
проверка буфера с помощью if если нарываешься на "хлам" то пишешь return False; иначе True
}
в головной программе прописываешь bool a;
и для всех слов цикл
a=check(a[n]);
if (a==True)
{
добавить в новую строку(которую потом выведешь)
}
заканчиваешь цикл(цикл пока не кончатся все слова)
теперь выводишь строку полученную.
ну как-то так в моём представлении
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 08.10.2010, 11:00   #5
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

isalpha(char) проверка является ли символ буквой
isdigit(char) проверка является ли символ цифрой.
coinkrsk вне форума Ответить с цитированием
Старый 09.10.2010, 12:47   #6
Keetotko
 
Регистрация: 16.11.2009
Сообщений: 6
По умолчанию

всем спасибо, кто откликнулся)
Keetotko вне форума Ответить с цитированием
Старый 18.10.2010, 18:15   #7
Keetotko
 
Регистрация: 16.11.2009
Сообщений: 6
По умолчанию

Вот как я решил эту задачу.
Снимок.JPG

Все легко и просто. Спасибо за подсказку насчет isalpha()
Keetotko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Знак минус отдельно от числа segail Microsoft Office Excel 1 10.02.2010 16:46
Получить список ресурсов и сохранить их отдельно Alex Cones Общие вопросы Delphi 16 14.11.2009 13:45
[C++] Инициализация массива структур отдельно от объявления MariyaL Помощь студентам 0 30.09.2009 12:27
отдельно день месяц и год kate158 Общие вопросы Delphi 6 25.08.2009 09:28
Запись отдельно каждого канала Sion Win Api 1 18.02.2007 02:51