Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Помогите с задачкой


Автор: crazsun 26.12.2004, 17:15
Вводится строка символов, в которой могут встречаться пробелы, цифры, буквы 'Е' и 'е', знаки '+' и '-'. Известно, что первый символ отличен от пробела. Из данной строки выделить подстроку символов, предшествующих первому пробелу. Требуется определить, является ли эта подстрока числом (в смысле Паскаля). Если да, то выяснить: целое или вещественное это число, положительное или отрицательное.

Автор: Guest 26.12.2004, 20:35

Получение строки до пробела:
берется введенная строка, и посимвольно проверяется на пробел; если пробел найден, этот
символ(с пробелом) заменяется на нулевой(код 0) и выходим из цикла;

Определение, является ли строка числом:
пробуем atoi: если возвращает 0, то строка не является числом, иначе: получаем это число и проверяем на отрицательность; насчет вещественного числа не знаю;

Код

.....
//string - введенная строка(массив байтов)
for(int i=0;;i++)
{
  if(string[i]==32)//32 - код пробела
     {
        string[i]=0;
        break;
     }
   else if(string[i]==0)
   break;
}
int count=atoi(string);
if(count==0)/*сообщаем, что не число*/;
else
 {
    if(count>=0)/*сообщаем о положительности*/;
    else/*сообщаем об отрицательности*/;
 }
.....


ЗЫ: не уверен, что правильно понял задачу: в строке встречаются только символы
E e + - пробел и цифры, или другие тоже?

Автор: crazysun 27.12.2004, 08:20
thx
Ты все понял правильно! Вот тока как с вещественными быть smile

Автор: chaos 27.12.2004, 12:21
Цитата(crazsun @ 26.12.2004, 17:15)
является ли эта подстрока числом (в смысле Паскаля).

что это значит, всмысле паскаля

Автор: Hroft 27.12.2004, 12:45
В смысле просто любой из форматов записи числовых констант, поддерживаемых компилятором Borland Pascal 7.0, скорее всего. Мало чем от других "смыслов" отличается smile.
Добавлено @ 12:48
atof для вещественных...

Автор: Guest 27.12.2004, 21:35
Но как там могут быть вещественные чила, если не встречаются символы ',''.'
smile
Или они там встречаются? И зачем нужны 'E' 'e'???
Напиши условия поточнее...

Автор: crazysun 28.12.2004, 09:54
условие такое, какое оно есть smile

Автор: _hunter 28.12.2004, 12:41
Е и е обозначают экспоненту
про точку/запятую ( скорее всего ) забыл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)