![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Matrixon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 17.2.2005 Репутация: нет Всего: нет |
Всем програмерам салют !!!
помогите начинающему програмисту плиз тема такая: есть стринг 149.54 -28.12 309.32 (3 числа) между числами один пробел... это все как я уже говорил - один стринг. вопрос: Как я могу найти самое большое число (в математическом понятии) ведь это же не float ?! может можно както преобразовать char в float ili double помогите кто чем может за ранее благодарен |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
--------------------
Лень, двигатель прогресса |
|||
|
||||
| Matrixon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 17.2.2005 Репутация: нет Всего: нет |
спасибо Borisff2003 !
наверно я не правильно задал вопрос , сорри... на самом деле дело обстоит так : 1. есть стринг " The sum of 234.193 and -28.67 is 205.523" ( стринг может быть любого размера и с любым колличеством букв и цифр) 2. Нужно вытащить все цифровые значения и из них найти самое большое т.е то что ты предложил , делать нельзя так как не известно колл-во чисел .... есть предложения ? сэнкс |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
Это сообщение отредактировал(а) Borisff2003 - 17.2.2005, 13:29 --------------------
Лень, двигатель прогресса |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
ребята, не изобретайте колесо. Юзаите функцию strtod библиотеки <stdlib.h>
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
Угу, тады чуть полкгче будет --------------------
Лень, двигатель прогресса |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
советую описание просмотреть. нет так просто её юзать !!!
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Matrixon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 17.2.2005 Репутация: нет Всего: нет |
а можно это дело без указателей сделать ?
|
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
pablo ты вроде как сам с собой спорить начал
А строка сама по себе есть указатель (то что ты обозвал стрингом), но если хочешь, то можно полезть например в STL, там без указателей можно. --------------------
Лень, двигатель прогресса |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Я просто хотел вам сказать что нет необходимости изобретать колесо.
А это функция может показаться сложной в использовании для новичка, т.к она не только возвращает значение с плаваюшей точкой, но и изменяет указатель так чтобы он указывал на следующий символ в строке. На это я хотел вас насторожить -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
Вот тебе код(сам писал):
он мудреный, если попадется число 1.2.3 он сделает из него 1.2 и 3, а если 1-2-3 1, -2 и -3 вот так Тут не совсем то что тебе надо, тут я ищу сумму, ну а как найти максимум это твое дело может напишу на досуге Это сообщение отредактировал(а) Doc_d0s - 17.2.2005, 20:24 --------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| Sabulba |
|
|||
|
Unregistered |
Вот примерно так должно быть
Если есть замечания, пишите! программа дубовая, зато быстро #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #define SIZE 256 void zero_array(char *tmpstr) { while(*tmpstr) { *tmpstr=0; tmpstr++; } } void main() { char string[SIZE]="The sum of 205.593 and -28.78 is 185.768 "; char tmpstr[SIZE]=""; clrscr(); int flag=0; float maxnumber=0,number=0; char *p,*dest; p=string; dest=tmpstr; while(*p) { if(isdigit(*p) || *p==' ' && isdigit(*(p+1)) || *(p+1)=='-' ) { flag=1; //Starting of number sequence-lets copy it } while(flag && !(isdigit(*p)&&*(p+1)==' ') ) { *dest=*p; p++; dest++; } if(flag) { number=atof(tmpstr); if(number>maxnumber) { maxnumber=number; } } dest=tmpstr; zero_array(tmpstr); //clearing of tmpstr (string) p++; flag=0; //reinitializing of flag } puts(tmpstr); printf("%.2f",maxnumber); getch(); } ----------------------------------------------------- какого дятла в C.S так много математики Matrixon со мной согласится |
|||
|
||||
| Matrixon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 17.2.2005 Репутация: нет Всего: нет |
Sabulba
молдчина ... даже все работает согласен Это сообщение отредактировал(а) Matrixon - 18.2.2005, 01:04 |
|||
|
||||
| Matrixon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 17.2.2005 Репутация: нет Всего: нет |
Doc_d0s
круто .... сэнкс |
|||
|
||||
| IEZ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 10.2.2005 Где: Санкт-Петербург Репутация: нет Всего: 3 |
-------------------- "Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |