![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
_par |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 25.1.2007 Репутация: нет Всего: нет |
есть строка "123456" мне надо по символьно их переделывать в int.
функцией atoi(str); получается преобразовать только всю строку. Если делать atoi(str[1]); то пишет
подскажите как такое преобразование сделать. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
точнее на
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
_par |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 25.1.2007 Репутация: нет Всего: нет |
еще несколько вапросав
1.Как перевести из числа в строку. 2.Как хранить очень большие числа которые не влазят не в один тип,вродебы в масиве чаров, но непонимаю как патом таким числом пользоваться. 3.Как работать с массивами. Приведите пример объявление. 4.Как считывать из файла по строчно , есть например строка "123 321 321" как мне её разбить на отдельные переменные, ну есть что нибудь наподобии php-ешного explode(); ? Ооочень прошу помочь ![]() |
|||
|
||||
HMLd |
|
||||||||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: 1 Всего: 0 |
_par,
заюзать atoi не получится - так как по синтаксису надо передавать указатель на строку, или адрес первого элемента, т.е. в твоём случае что-то типа
or
Но это не подойдёт, т.к. преобразуется вся строка, т.е. у тебя получится число, равное 12345; Вот возможный вариант решения:
Дело в том, что разница в ASCII между символом '0' и цифрой 0 равна 48, а значит и между всеми цифрами.
Перевести из числа в строку можно, например так: выделить все цифры числа и копировать в массив чаров, прибавляя число 48. Но это как-то марудно, сейчас ещё подумаю, может найду чего.
Для хранения больших чисел (кстати, чем тебя не устраивает __int64 ??? Диапазон значений от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807. Синтаксис такой: scanf("%I64d", &a)) используется так называемая длинная арифметика. Считываем из файла символы, на ходу преобразовывая их в числа. Затем переворачиваем массив, т.е. в нулевом элементе у нас хранится размер массива, в 1-ом - единицы, во 2-ом - десятки и т.д. Далее выполняешь все действия, как тебя учили в школе - т.е. столбиком) Вот пример моего исходника для пары операций:
По работе с массивами - RTFM ![]() Не совсем понимаю ,что ты имеешь в виду под
|
||||||||||||||||
|
|||||||||||||||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
ну, возможно, это поможет:
Это было считывание трех интовых переменных ![]() |
|||
|
||||
HMLd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: 1 Всего: 0 |
JackYF, точно - это ведь из файла, так что это будет правильно)
|
|||
|
||||
vitlic |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.2.2007 Где: где home(){return где="тут"} Репутация: 1 Всего: 1 |
так можно считать весь файл до конца. Это сообщение отредактировал(а) vitlic - 23.2.2007, 03:02 |
|||
|
||||
_par |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 25.1.2007 Репутация: нет Всего: нет |
Спасибо вам всем огромное !!!! Разобрался.
![]() |
|||
|
||||
boriska |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 7.12.2006 Где: kharkov Репутация: нет Всего: нет |
A как насчет :
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |