|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Программирование на С++ |
|
|
Программирование на С++
|
Дизайнер Сообщения: 410 |
Народ, выручайте, нужно решить задачку
задача такая: Дано произвольное целое число n. Написать программу, которая разбивает число n на цифры и выводит их на экран; подсчитывает сколько цифр в числе n; находит сумму цифр числа n; меняет порядок цифр числа n на обратный. ... может есть какие-нибудь идеи как решить... Буду благодарен ![]() ![]() |
|
Отправлено: 15:45, 08-01-2003 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Tanchenko AleXanDr
число делится по цифрам делением n/10 и взятием остатка n%10. |
------- Отправлено: 16:29, 08-01-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать // vasketsov, спасибо... идею понял... щас попробую на практике
![]() |
Отправлено: 21:35, 08-01-2003 | #3 |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать незнаю как на си, а на Паскале можно было бы перевести число в строку, а строка это массив, сколько в нем элементов определяется одной процедуркой, сложить по цифиркам это тоже просто, каждый символ в тип интежер и суммируй себе в какой-нибудь переменной, вывести задом наперед, так не с головы строки идти, а с последнего элемента...
ну в Паскале то точно можно так сделать |
------- Отправлено: 17:03, 09-01-2003 | #4 |
Lunich
Сообщения: n/a |
На С можно преобразовать целое в строку:
// char buffer[20] _itoa( n, buffer, 10 ); // а потом для каждого элемента полученной строки, отняв от него 0х30 получить его значение в int. Кол-во чисел: // slren( buffer ); // |
|
Отправлено: 22:44, 10-01-2003 | #5 |
Yagur
Сообщения: n/a |
Я преобразую число(iKod) в строку(c) так:
char c[5]; sprintf(c, "%d", iKod); |
Отправлено: 16:27, 23-01-2003 | #6 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Yagur
а почему 5 а не 12 ? |
------- Отправлено: 17:13, 23-01-2003 | #7 |
Монголо-татар Сообщения: 117
|
Профиль | Сайт | Отправить PM | Цитировать Roman Go
Цитата:
сколько нужно ресурсов и процессорного времени для переводов туды сюды? что быстрее работа с текстом или числами? я по молодости, тоже был любитель стринга... щас меня от него воротит... там все функции и процедуры такие тяжелые... уж лучше как-нить по свойски... (это я ваще про всякие визуальные языки) |
|
------- Отправлено: 09:11, 24-01-2003 | #8 |
Дизайнер Сообщения: 410
|
Профиль | Отправить PM | Цитировать помогите решить еще одну задачу
![]() Пользователь вводит с клавиатуры арифметическое выражение (используемые операции только сложение и вычитание). Посчитать его значение. Если в выражении встречаются другие символы, выдать сообщение, что выражение введено не корректно. --------------------------------------------------------------------- насколько я понимаю ![]() Цитата:
Добавлено: Ork Yason как всегда флуд |
|
Отправлено: 22:36, 14-03-2003 | #9 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Tanchenko AleXanDr
Если без скобок выражение, то решается всё не просто, а очень просто (на голом C): int expression(char * expr) { int result; char * c; result = 0; c = expr; if(!isdigit(*c)) { printf("Ошибочка вышла: \"...%s\"\n", c); exit(1); } for(; isdigit(*c); ++c) result = result * 10 + (c - '0'); switch(*c) { case 0: return result; case '+'; return result + expression(c + 1); case '-'; return result - expression(c + 1); default: printf("Ошибочка вышла: \"...%s\"\n", c); exit(1); } } Цитата:
|
|
------- Отправлено: 23:08, 14-03-2003 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Программирование с TCP/IP. | Guest | Программирование и базы данных | 1 | 17-06-2004 09:43 | |
Программирование | andy666 | Программирование и базы данных | 3 | 24-10-2003 22:17 | |
Программирование | andy666 | Программирование и базы данных | 1 | 10-10-2003 19:52 | |
Программирование на Яве | Guest | Программирование и базы данных | 2 | 05-10-2003 20:09 | |
Программирование | LeXo | Программирование и базы данных | 10 | 11-10-2002 12:23 |
|