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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с алгоритмом, Помогите с алгоритмом 
:(
    Опции темы
OverloaD
  Дата 12.12.2005, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.11.2005

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



if(str[i]=='.')
{
k=i+1;
for (k,G=0;k<strlen(str);G++,k++)
{
while ((str[k]=='1')||
(str[k]=='2')||
(str[k]=='3')||
(str[k]=='4')||
(str[k]=='5')||
(str[k]=='6')||
(str[k]=='7')||
(str[k]=='8')||
(str[k]=='9')||
(str[k]=='0'))
{ str2[G]=str[k]; }
}
for (G=0;G<strlen(str2);G++)
{

if (str2[G]=='.') printf("Nevernoe vyrazenie!");

}
}
нужно сделать защиту на ввод, чтоб если в строке str встречается к примеру "22.45.567" или "2..2, то выдаётся ошибка, как нужно переделать мой текст или может как-то по-другому??
заранее спасибо!
PM MAIL   Вверх
Mayk
Дата 12.12.2005, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

Репутация: 45
Всего: 134



1) пользуем isdigit для проверки на то, что символ суть цифра
Цитата(OverloaD @ 12.12.2005, 14:02)
нужно сделать защиту на ввод, чтоб если в строке str встречается к примеру "22.45.567"

2) пользуем strchr(str,'.') для нахождения точки слева и strrchr(str,'.') для нахождения точки справа.
Очевидно что если strchr(str,'.') == strrchr('.'), то встречается не более одной точки.
3)sscanf и istringstream не отменяли вроде


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
OverloaD
Дата 12.12.2005, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.11.2005

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



sscanf и istringstream-это что такое?? в книге ничего толком не написаноsmile
и дело в том, что если я ввожу к примеру выражение 2.2, т.е. верное выражение, при котором эта часть программыне должна ничего делать, то у программа зацикливается на месте str2[G]=str[k];, то есть на while, а если ввожу выражение "2.." то в str2 он пишет какую-то ахинею. А в чём здесь проблема я разобраться не могуsmile
PM MAIL   Вверх
OverloaD
Дата 12.12.2005, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.11.2005

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



вобщем если не сложно напишите пожалуйста как это сделать, а то я замучался уже
PM MAIL   Вверх
OverloaD
Дата 12.12.2005, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.11.2005

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



всё сделал, спсибо большое за помощь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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