Задача по строкам, с++ |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Задача по строкам, с++ |
3BePb |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Ребята, помогите, пожалуйста. Я не то, что не знаю как написать программу, а я не знаю даже как это выполнить вообще логически. Помогите, пожалуйста. Вот задача: "Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков “+” и “-“. Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой." Заранее благодарен.
|
volvo |
Сообщение
#2
|
Гость |
Ну, как убрать все лишнее спереди - есть интересная идея... Смотри: есть строка, из которой можно читать данные через sscanf()... Вот и читаем (вернее пытаемся прочесть) из нее число с плавающей точкой, запоминая саму строку, из которой читаем. Если не удалось - то строка не начинается с представления этого числа, смещаемся на один символ вправо, и пытаемся прочесть число снова... И так до тех пор, пока этого сделать не удастся (число будет прочитано, даже если ПОСЛЕ него будут лишние символы, главное - чтоб их не было ПЕРЕД ним)...
Перечитал... Выглядит ужасно. Понять вообще ничего невозможно... Поделюсь небольшим фрагментом кода: ... После окончания работы данного фрагмента в buffer-е будет "-1.135e+8++uu", то есть, мы "отсекли все лишнее" спереди... Теперь задача другая - отсечь все лишнее, что есть ПОСЛЕ числа... Этого сделать махинациями с sscanf() не удастся, тут другой путь, о котором выше говорил Оззя: Цитата 1. Отсечь символы, не входящие в запись вещественного числа с плавающей точкой Попробуй сделать это самостоятельно...В запись могут входить +(-), арабские цифры, e(E), точка. |
Текстовая версия | 27.04.2024 4:47 |