Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 29.11.2015
Сообщений: 38

Как считывать цифры с n-значных чисел?

21.12.2015, 23:07. Показов 1097. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как считывать цифры с чисел, к примеру дано число 457 , как считать к примеру цифру 5 в этом числе?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.12.2015, 23:07
Ответы с готовыми решениями:

Сколько n-значных чисел можно составить, используя цифры 5 и 9, в которых три одинаковые цифры не стоят рядом?
Две цифры Сколько n-значных чисел можно составить, используя цифры 5 и 9, в которых три одинаковые цифры не стоят рядом? Для n=3...

У скольких 10-значных чисел все цифры различны?
У скольких 10-значных чисел все цифры различны?

Сумма n - значных чисел, содержащих только нечетные цифры
Написать программу, определяющую сумму n - значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в...

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
21.12.2015, 23:21
единицы: n mod 10
десятки: n div 10 mod 10
сотни: n div 100 mod 10
0
 Аватар для Джейкоб Фрай
4 / 4 / 5
Регистрация: 22.12.2015
Сообщений: 18
22.12.2015, 12:47
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Program jchx;
 
Const n = 5; {Задаем макс кол. цифр числа}
 
Var a: array[1..n] Of integer; {масив куда будем вписывать цифры}
  m,i: integer;
 
Function kol(b:integer): integer;
 
Var mm,i: integer;
Begin
  mm := b;
  i := 0;
  While mm<>0 Do
    Begin
      mm := mm Div 10;
      i := i+1;
    End;
  kol := i;
End;{функция которая подщитывает кол цифр}
 
Procedure mas;
 
Var mm: integer;
Begin
  mm := m;
  For i:=kol(mm) Downto 1 Do
    Begin
      a[i] := mm Mod 10;{заносим в массив последнюю цыфру на последнее место}
      mm := mm Div 10;{убираем последнюю цифру}
    End;
End;
 
Procedure vivod;
Begin
  For i:=1 To kol(m) Do
    write(a[i]:3);
End;
 
Begin
  readln(m);
  mas;
  vivod;
End.
За ошибки извиняюсь.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
22.12.2015, 13:34
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Джейкоб Фрай,
Pascal
8
9
10
11
12
13
14
function kol(b: Integer): Integer;
{-подсчёт количества цифр} 
var i: Integer;
begin
  i:=0; repeat b:=b div 10; Inc(i) until b=0;
  kol:=i;
end;
Иначе у вас в числе 0 цифр 0, что не совсем верно, если не совсем неверно.
Лишняя локальная переменная тоже не нужна.

Добавлено через 12 минут
Использование глобальных переменных без нужды не слишком хорошая идея.
В процедуре mas делается двойная работа -- сначала деление в kol, потом в mas. Этого дублирования легко избежать. Один из вариантов -- хранение цифр в обратном порядке:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure ToDigits(n: Longint; var a: array of Shortint; var m: Integer);
var i: Integer;
begin
  m:=0;
  repeat
    a[m]:=n mod 10; n:=n div 10; Inc(m);
  until n=0;
end;
var
  d: array [1..10] of Shortint;
  m, i: Integer;
  n: Longint;
begin
  Write('Введите n: '); ReadLn(n); ToDigits(n,d,m);
  for i:=m downto 1 do Write(' ',d[i]); WriteLn;
end.
Добавлено через 20 минут
Сохранение цифр в прямом порядке удобно реализовать при помощи рекурсивного вызова, например:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure ToDigits(n: Longint; var d: array of Shortint; var m: Integer);
  procedure digit(n: Longint);
  begin
    if n>10 then digit(n div 10);
    d[m]:=n mod 10; Inc(m);
  end;
begin
  m:=0; digit(Abs(n));
end;
var
  d: array [1..10] of Shortint;
  m, i: Integer;
  n: Longint;
begin
  Write('Введите n: '); ReadLn(n); ToDigits(n,d,m);
  for i:=1 to m do Write(' ',d[i]); WriteLn;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2015, 13:34
Помогаю со студенческими работами здесь

Сумма n-значных чисел, содержащих только нечетные цифры
Помогите пожалуйста с задачей Написать программу, определяющую сумму n-значных чисел, содержащих только нечетные цифры. Определить...

Сколько различных 10-значных чисел можно получить, используя цифры 1 и 2?
Сколько различных десятизначных чисел можно написать, используя цифры 1 и 2?

Определяющую сумму n-значных чисел, содержащих только нечётные цифры
Написать программу, определяющую сумму n-значных чисел, содержащих только нечётные цифры.Определить также,сколько четных цифр в найденной...

Функции: определяющую сумму n-значных чисел, содержащих только нечётные цифры
Написать программу,определяющую сумму n-значений чисел,содержащих только нечётные цифры.Определить также,сколько чётных цифр в найденной...

Сколько существует 6-значных чисел, у которых по три четных и нечетных цифры?
Сколько существует 6-значных чисел у которых по три четных и нечетных цифры?


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru