![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Mr.Fury |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Помогите! Please! Никак не могу решить задачу :
Надо изменить порядок цифр в числе на обратный. Например:7658 на 8567! ПОМОГИТЕ!!! PLEASE!!! ??? ??? |
GLuk |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дык значит решать пробовал? Покажи, что смог сделать.
Какими ф-ми/процедурами собираешься пользоваться? |
Mr.Fury |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Пробовал. Хочу использовать операторы цикла (WHILE и FOR).
Я посчитал кол-во цифр в числе. Тут надо наверное как-то число разбить на цифры (отдельные переменные для каждой цифры).Но никак у меня не получается! ??? :-[ |
fms |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
можно делить на 10 брать целую часть вычитать из нецелого целое и умножать на 10. выводить полученную цифру и так далее.. пока не дойдешь до 1-ой цифры.
вроде так.. -------------------- непонимающая..
|
APAL |
![]()
Сообщение
#5
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
А почему бы не преобразовать число в строку, поменять порядок символов и преобразовать обратно в число?
-------------------- |
Mr.Fury |
![]()
Сообщение
#6
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
fms,а как быть если число очень-много-значное?
Значит надо использовать оператор цикла. Как бы сделать так, чтобы каждая цифра присваивалась своей переменной ? ??? ??? ??? ??? |
APAL |
![]()
Сообщение
#7
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Код Var K : LongInt; Function SwapNum(nn : LongInt) : LongInt; Var S,Sres : String; Result : LongInt; i : Byte; Code : Integer; Begin If nn<10 then Begin SwapNum:=nn; Exit; End; Str(NN,S); Sres:=S; For i:=1 to Length(S) do Sres[Length(S)-i+1]:=S[i]; Val(Sres,Result,Code); If Code=0 then SwapNum:=Result else SwapNum:=0; End; Begin Write('Введите число: ');Readln(k); Write('Результат : ',SwapNum(k)); End. -------------------- |
Mr.Fury |
![]()
Сообщение
#8
|
![]() Группа: Пользователи Сообщений: 4 Репутация: ![]() ![]() ![]() |
Спасибо APAL ,но мне надо сделать это используя оператор WHILE.
|
fms |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата fms,а как быть если число очень-много-значное? Значит надо использовать оператор цикла. Как бы сделать так, чтобы каждая цифра присваивалась своей переменной ? ??? ??? ??? ??? а какая разница?! очень многозначное или не очень? ты просто в цикле сделай деление на 10 и все. а если ты сделаешь чтобы цифра да еще и своей переменной то там вообще свихнуться можно.. по моему.. -------------------- непонимающая..
|
trminator |
![]()
Сообщение
#10
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ, вы о чем? Какие строки? Если число неотрицательное, то вот решение
Код program forforum; var a, b: integer; begin readLn(a); b:=0; while a<>0 do begin b:=b*10+a mod 10; a:=a div 10 end; writeLn(b) end. -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Kolan |
![]()
Сообщение
#11
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Репутация: ![]() ![]() ![]() |
Можно сделать используя стек. Преобразовать число в строку и потом создать список и заполнить его спереди и получиться наоборот ;)
|
trminator |
![]()
Сообщение
#12
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Можно сделать используя стек. Преобразовать число в строку и потом создать список и заполнить его спереди и получиться наоборот ;) Да, это видимо будет намного быстрее и проще, чем один-единственный оператор цикла. А насколько меньше потребуется памяти... -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 13:51 |