![]() |
|
Модераторы: bsa |
![]()
|
|
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Помогите пожалуйста с простенькой программой. Допустим есть масив из 10 символов. Также есть 2 целых числа: a и b. Мне нужно эти 2 числа запихнуть в чаровский массив, но таким образом что бы они не переводились в тип char, а были внесени масив собственно в первоначальном виде. То есть мне нужно преобразовать int в char, но таким образом, что бы их значения визуально остальсь теми же. Например есть символьный массив из 10 чисел. {1,2,3,4,5,6,7,8,9,0} На позицию 5 и 6 элемента нужно вставить числа a и b соответсвенно, что бы получилось {1,2,3,4,5,10,15,8,9,0}
Вот часть кода. Что нужно добавить, что бы он заработал так как указано выше?
Есть конечно вариант применить функцию itoa, но мне кажется, что есть более простой путь, хотя я не уверен. Заранее спасибо. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
а не кажется ли вам , что строка "10 " занимат два чара и никак в один не поместится а в остальном можно например так :
|
|||
|
||||
| mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
Строка да - но не число.
Добавлено через 1 минуту и 18 секунд ЗЫ. Да надеюсь разница между signed и unsigned понятна. |
||||
|
|||||
| prolight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
# include <iostream>
using namespace std; void main() { int x; cin>>x; char y; y=x+'0'; cout<<y; } вот и вся трансформация из int в char |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
Ну можно сдвинуть часть строки -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
к сожалению или к счастью правильный ответ получится только для первых 10 значений инта |
|||
|
||||
| prolight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
интересно, а что будет если пользователь введет 257? Будте проще - в один char можно внести от целое -128 до 127; в один unsigned char можно внести от целое 0 до 255; больше (short, int и т.д.)уже со смещением работаем. |
|||
|
||||
| prolight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
вот я тут чуточку пописал,сам вижу что что код тупой(приведённый ниже) но он работает,за исключением того что в оставшихся ячейках мусор.
# include <iostream> using namespace std; void main() { int x,i=1,z,n=0; char q[10]; cin>>x; z=x; for(;x!=0;i*=10){ x/=10; } i/=10; for(int s=0;i!=0;i/=10,s++){ q[s]=z/i+'0'; z=z-z/i*i; n++; } q[n]='\0'; cout<<q; } оо.включил мосК и убрал мусор.теперь работает без ошибок так как надо Это сообщение отредактировал(а) prolight - 4.7.2008, 17:01 |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
prolight, пользуйся кнопкой "Код".
|
|||
|
||||
| prolight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
поскольку я не наблюдаю кнопку код я предполагаю что надо иметь ActiveX чтобы её увидеть,для этого его надо скачать,для,этого надо нормальный интернета не мобильный,для этого надо быть не в Запорожье а в Киеве,для этого надо подождать неделю или я просто не вижу эту кнопку |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Вы просто не видете эту кнопку: она находится в верхнем ряду над набираемым текстом : "Цвет" "Размер" "Шрифт" "Список" "Код" |
|||
|
||||
| prolight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.5.2008 Репутация: нет Всего: нет |
mes вот зашёл в через оперу и появились все эти кнопки
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
работать будет всегда - только результат совсем не тот, что требуется в теме а чтоб предсказать результат, надо ознакомиться с тем, как представлены символы в памяти компа.. подробности можно почитать например здесь : http://ru.wikipedia.org/wiki/ASCII ну вот и возможность отредактировать все предыдушие сообшения... Это сообщение отредактировал(а) mes - 4.7.2008, 21:12 |
|||
|
||||
| NebelDT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 29.9.2008 Где: RU Репутация: -6 Всего: -10 |
У меня вот такой примерчик есть)
Будте проще - в один char можно внести от целое -128 до 127; в один unsigned char можно внести от целое 0 до 255; Что будет, ERROR)) |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |