![]() |
|
![]() ![]() ![]() |
|
juno24 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
Меня уже подтрясывать начинает.
На Perl,Pascal,PHP,JavaScript - все просто, ну здесь все через ж . Я умоляю разъясните . Нужно взять строку , состоящую из цифер . Загнать ее в моссив посимвольно . Как это сделать ? Догадываюсь что очень просто, но как ? Уже перечитал доки по всем типам QString,QChar,QHash,QVariant ; Например входной параметр функции имеет тип QString ; Например так : void MyFunction(QString chislo) { var_len = chislo.length(); int k[var_len]; for (i=0;i<var_len;i++) { k[i]= chislo.at(i) // Требует привидение типов , которое не могу сделать ; } } Вызов MyFunction("123456"); Уже испробовал кучу вариантов , щас застрелюсь . |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
juno24
Ну так текст в C++ и есть массив символов, если нужно число в виде ЧИСЛА а не СИМВОЛА то отними 48 (ASCII код 0).
|
|||
|
||||
juno24 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
Вы не поверите,но я понимаю что строка - это есть массив Типа Char ;
Компилятор постоянно выдает ошибку про не соответствие типов и запрете операций . QString s = "123456" ; Ну поидее должен быть какой то метод в классе QString , который просто загонит все символы в массив или в хэш . Не верится что это не предусмотрено . Это сообщение отредактировал(а) juno24 - 27.1.2010, 16:26 |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
какой еще хэш. Объясни по человечески, что тебе нужно?
Код покажи. |
||||
|
|||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
пища для ума
Это сообщение отредактировал(а) chaos - 27.1.2010, 16:39 |
|||
|
||||
juno24 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
Задача следующая есть входная строка - число .
Нужно загнать эти все регистры этого числа в массив типа int ; чтобы было так На входе QString chislo = "123456"; на выходе массив int k[6]; где k[0] = 1 ; ... k[5] = 6 ; Код выше , я же привел пример . Но в нем я натыкаюсь на приведение типов , которое решить не могу . Может есть кокое то другое решение . |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
||||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Даже доработаю пример chaos.
Массив поменял на QList из-за того, что не все компиляторы поддерживают си массивы переменной длины на стеке. В общем вариантов полно. Это сообщение отредактировал(а) SABROG - 28.1.2010, 00:16 |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Модератор: Название темы должно отражать ее суть!
|
|||
|
||||
juno24 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
У меня получилось так
Всем огромное спасибо ! Обещаю называть темы соответственно. но чесно слово , уже хотел монитор об стенку долбануть . |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
в таких случаях я говорю: фотку покажи! чтоб было видно откуда руки растут. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
juno24, прежде чем что-то писать на языке, было бы неплохо с ним ознакомиться. А так же ознакомиться с документацией по используемым классам. В частности, QString.
Не рекомендую писать программы в одну строчку. Лучше всего писать один оператор - одна строчка, всю прелесть этого правила ты ощутишь при отладке, если не будешь ему следовать. У SABROG код относительно верно выглядит (только assert немного вылез). |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
assert поправил. Можно еще замутить вариант с полной конвертацией строки в число, а потом делить его в цикле на 10 с взятием остатка пока не получится ноль. Только минус в том, что число будет ограниченно размером целочисленного типа, в то время как строка может быть километровой в длину. Всё зависит от задачи.
Это сообщение отредактировал(а) SABROG - 28.1.2010, 00:23 |
|||
|
||||
TiKKi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: нет Всего: 2 |
UPD: Сорри, не заметил что посимвольно.
Это сообщение отредактировал(а) TiKKi - 28.1.2010, 02:26 |
|||
|
||||
juno24 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
Я предпочитаю изучать любой язык на реальных задачах . Вот она у меня и возникла , читаю изчаю . |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |