1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
1

Дано число вывести все его цифры в столбик, используя операции деления нацело и взятия остатка от деления

03.01.2013, 20:42. Показов 6382. Ответов 12
Метки нет (Все метки)

Дано целое число N. Используя операции деления нацело и взятия остатка от деления, вывести все его цифры в столбик.
Собственно есть код, но он выводит не в том порядке - от последнего к первому, а надо от первого к последнему.
Pascal
1
2
3
4
5
6
7
8
9
var n:integer;
begin
readln(n);
while n>0 do
begin
writeln(n mod 10);
n:=n div 10;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2013, 20:42
Ответы с готовыми решениями:

Используя операции деления нацело и взятия остатка от деления, найти количество и сумму цифр числа
7 Дано целое число N >0. Используя операции деления нацело и взятия остатка от деления, найти...

Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр.
помогите, пожалуйста Дано целое число N(>0).используя операции деления нацело и взятия остатка от...

Используя операции деления нацело и взятия остатка от деления, найти количество и сумму цифр числа
Можете решить вот эти задачи.. Заранее спасибо!!:friends: 1) Дано целое число N(>0). Используя...

Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести все его цифры, начиная
Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести...

12
121 / 87 / 90
Регистрация: 30.12.2012
Сообщений: 511
03.01.2013, 21:12 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  n: integer;
  a: array[byte] of byte;
  i, j: byte;
 
begin
  i := 1;
  readln(n);
  while n > 0 do
  begin
    a[i] := n mod 10;
    inc(i);
    n := n div 10;
  end;
  j := i - 1;
  for i := j downto 1 do
    writeln(a[i]);
end.
1
6 / 6 / 4
Регистрация: 27.08.2012
Сообщений: 21
03.01.2013, 21:14 3
Хмм..наглядный вариант
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
03.01.2013, 21:19  [ТС] 4
Ещё не изучали "array[byte] of byte" можно без этого как-то?
0
6 / 6 / 4
Регистрация: 27.08.2012
Сообщений: 21
03.01.2013, 21:21 5
Идея в том чтобы записывать значения остатка от деления в процессе выполнения программы,и потом вывести их с наоборот)
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
03.01.2013, 21:25  [ТС] 6
Не особо понял - напишите.
0
121 / 87 / 90
Регистрация: 30.12.2012
Сообщений: 511
03.01.2013, 21:32 7
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  n: integer;
  a: array[1..15] of byte;
  i, j: byte;
 
begin
  i := 1;
  readln(n);
  while n > 0 do
  begin
    a[i] := n mod 10;
    inc(i);
    n := n div 10;
  end;
  j := i - 1;
  for i := j downto 1 do
    writeln(a[i]);
end.
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
03.01.2013, 22:07  [ТС] 8
Ещё актуально - ведь так и не дали вариант без array[1..15] of byte
0
6044 / 2159 / 753
Регистрация: 10.12.2010
Сообщений: 6,007
Записей в блоге: 3
03.01.2013, 22:28 9
nestquik, ловите:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  n,d:integer;
  i,cnt:integer;
  step:integer;
 
 
begin
  readln(n);
  d:=n;
  cnt:=0;
  repeat
    d:=d div 10;
    inc(cnt);
  until d=0;
  step:=1;
  for i:=2 to cnt do step:=step*10;
  d:=n;
  repeat
    writeln(d div step);
    d:=d mod step;
    step:=step div 10;
  until d=0;
  readln;
end.
Вроде работает.
1
Добры_Змейка
53 / 53 / 43
Регистрация: 09.06.2010
Сообщений: 170
03.01.2013, 22:44 10
вам не известен диапазон вводимого пользователем числа(раз не проходили массивы ) значит остаётся через
if then else или через case(если проходили) найти необходимый диапазон а после обработать с условием задачи

или как вариант выше (не заметил решение пока писал )
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
03.01.2013, 23:16  [ТС] 11
HighPredator, спасибо-с, только оно не совсем работает
попробуйте ввести число 10 или 1000
0
6044 / 2159 / 753
Регистрация: 10.12.2010
Сообщений: 6,007
Записей в блоге: 3
03.01.2013, 23:33 12
Оно не совсем работает потому, что я не до конца записал условие выхода из цикла. Вечер... Условие в строке 22 должно выглядеть так:
Pascal
1
until (d=0) and (step=0);
1
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 34
03.01.2013, 23:38  [ТС] 13
Цитата Сообщение от HighPredator Посмотреть сообщение
Pascal
1
until (d=0) and (step=0);
Спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2013, 23:38
Помогаю со студенческими работами здесь

Используя операции деления нацело и взятия остатка от деления, вывести все цифры числа
Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести...

Используя операции деления нацело и взятия остатка от деления, вывести все цифры числа
Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести...

Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр
Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти ...

Используя операции деления нацело и взятия остатка, вывести все его цифры, начиная с самой правой (SWI Prolog)
Помогите, пожалуйста, задали перевести программу с Pascal на Prolog, а я совсем не шарю в прологе....

Дано целое число (N>0), используя операции деление нацело и взятие остатка от деления, вывести все его цифры начиная с самой правой
Задание звучит так: Дано целое число (N>0), используя операции деление нацело и взятие остатка от...

Используя операции деления нацело и взятия остатка от деления, определить, имеется ли в записи числа цифра k
Полное условие: Дано натуральное число n. Используя операции деления нацело и взятия остатка от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru