Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 14
1

Определить сколько и каких цифр встречается в записи числа

14.10.2014, 13:06. Просмотров 4889. Ответов 9
Метки нет (Все метки)


Дано некоторое натуральное число. Определить сколько и каких цифр встречается в записи числа. Результат обработки: <цифра> - <количество>.

Я попытался сделать ее но она выводит не то что надо, уверен ошибка в цикле но не могу понять какая.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
a,b,c:longint;
begin
writeln('Vvedite chislo');
readln(a);
while a>0 do
begin
c:=a mod 10;
a:=a div 10;
b:=b+1;
writeln(c,'-',b);
end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2014, 13:06
Ответы с готовыми решениями:

Дано некоторое натуральное число. Определить сколько и каких цифр встречается в записи числа. Результат обработки: <цифра> - <количество>.
Помогите пожалуйста. Почему-то не получается. Заранее спасибо

Определить, сколько различных цифр встречается в десятичной записи числа
Задачка: Дано натуральное число n. Сколько различных цифр встречается в его десятичной записи? ...

Определить, сколько раз встречается в записи натурального числа N цифра k и на каких позициях
Здравствуйте. Вот наработки: Program Lol; Uses CRT; var n,k,b,c,d:integer; begin clrscr;...

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

9
0 / 0 / 4
Регистрация: 12.10.2014
Сообщений: 15
14.10.2014, 13:10 2
ну ваша задача берет остаток от деления на 10 и выводит его позицию с конца..
данная задача решается с использованием одномерного массива и условного оператора)
0
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 14
14.10.2014, 13:16  [ТС] 3
Массивы нельзя использовать
0
0 / 0 / 4
Регистрация: 12.10.2014
Сообщений: 15
14.10.2014, 13:39 4
Лучший ответ Сообщение было отмечено vasionx как решение

Решение

а вложенные циклы разрешены?

Добавлено через 9 минут
Если вложенный цикл допустим, то без массива задача решается так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
a,b,c:longint;
i:byte;
begin
readln(a);
 
for i:= 0 to 9 do
  begin
  c:=0;
  b:=a;
  while b<>0 do
    begin
    if b mod 10 = i then inc(c);
    b:=b div 10;
    end;
    if c<>0 then
   writeln(i,' - ', c, ' raz ');
   end;
 readln;
 end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5697 / 3412 / 2430
Регистрация: 22.11.2013
Сообщений: 9,570
Записей в блоге: 1
14.10.2014, 13:44 5
Вариант с массивом:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
  d: array [0..9] of Integer;
  n: Longint;
  i: Integer;
begin
  Write('Введите число: '); ReadLn(n);
  repeat
    Inc(d[n mod 10]); n:=n div 10;
  until n=0;
  WriteLn('Количество цифр в числе ',n,':');
  for i:=0 to 9 do if d[i]>0 then WriteLn(i,' - ',d[i]);
end.
Вариант без массива:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  n, m: Longint;
  i, d: Integer;
begin
  Write('Введите число: '); ReadLn(m);
  WriteLn('Количество цифр в числе ',m,':');
  for i:=0 to 9 do begin
    d:=0; n:=m;
    repeat
      if n mod 10=i then Inc(d);
      n:=n div 10;
    until n=0;
    if d>0 then WriteLn(i,' - ',d);
  end;
end.
Вариант с 10-ю отдельными переменными (фактически тот же массив) и case n mod 10 of ... end; смысла расписывать не вижу.

Добавлено через 2 минуты
iLeFree,
сколько цифр в числе 0? А что на этот счёт скажет ваш код?
1
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 14
14.10.2014, 13:44  [ТС] 6
Вложенный цикл допустим, спасибо Вам огромное
0
0 / 0 / 4
Регистрация: 12.10.2014
Сообщений: 15
14.10.2014, 13:48 7
сэр, число 0 не является натуральным
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5697 / 3412 / 2430
Регистрация: 22.11.2013
Сообщений: 9,570
Записей в блоге: 1
14.10.2014, 14:54 8
Цитата Сообщение от iLeFree Посмотреть сообщение
сэр, число 0 не является натуральным
Увы, не всё так однозначно:
https://ru.wikipedia.org/wiki/... 0%BB%D0%BE
Существуют два подхода к определению натуральных чисел — это числа, возникающие при:
- подсчёте (нумеровании) предметов (первый, второй, третий, …);
- обозначении количества предметов (нет предметов, один предмет, два предмета, …).
В первом случае ряд натуральных чисел начинается с единицы, во втором — с нуля. В подавляющем большинстве российских источников традиционно принят первый подход, то есть ноль не считается натуральным числом[1]. Второй подход встречается у некоторых зарубежных авторов — например, он принят в трудах Бурбаки, где натуральные числа определяются как мощности конечных множеств. Кроме того, отсчёт начиная с нуля, под влиянием языка программирования Си, широко распространился в информатике (например, для индексации массивов, нумерации битов машинного слова и т. д.).
...
Наличие нуля облегчает формулировку и доказательство многих теорем арифметики натуральных чисел, поэтому при первом подходе вводится полезное понятие расширенного натурального ряда, включающего нуль.
То есть, оборотной стороной невключения нуля в множество натуральных чисел является необходимость введения понятия расширенного натурального ряда, где этот нуль есть.

Добавлено через 5 минут
И если в Си массивы начинаются с 0, то с Паскалем всё намного хуже, ибо не запрещено начинать нумерацию даже с отрицательных чисел:
Pascal
1
2
3
var
  a: array [0..n-1] of Integer;
  b: array [-n..n] of Integer;
0
0 / 0 / 4
Регистрация: 12.10.2014
Сообщений: 15
14.10.2014, 16:14 9
Цитата Сообщение от bormant Посмотреть сообщение
Увы, не всё так однозначно:
https://ru.wikipedia.org/wiki/... 0%BB%D0%BE

То есть, оборотной стороной невключения нуля в множество натуральных чисел является необходимость введения понятия расширенного натурального ряда, где этот нуль есть.

Добавлено через 5 минут
И если в Си массивы начинаются с 0, то с Паскалем всё намного хуже, ибо не запрещено начинать нумерацию даже с отрицательных чисел:
Pascal
1
2
3
var
  a: array [0..n-1] of Integer;
  b: array [-n..n] of Integer;
Цитата Сообщение от bormant Посмотреть сообщение
И если в Си массивы начинаются с 0, то с Паскалем всё намного хуже, ибо не запрещено начинать нумерацию даже с отрицательных чисел:
Код Pascal
1
2
3
var
* a: array [0..n-1] of Integer;
* b: array [-n..n] of Integer;
про неоднозначность 0 я соглашусь, конечно, но не уверен, что в задаче подобного уровня могло подразумеваться, что натуральное число - это мощность множества, за информацию спасибо учту)
про индексацию паскаля и си я знаю, но если честно немного не понял к чему сей момент был указан)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5697 / 3412 / 2430
Регистрация: 22.11.2013
Сообщений: 9,570
Записей в блоге: 1
14.10.2014, 16:23 10
Цитата Сообщение от iLeFree Посмотреть сообщение
про индексацию паскаля и си я знаю, но если честно немного не понял к чему сей момент был указан
Цитата Сообщение от bormant Посмотреть сообщение
Существуют два подхода к определению натуральных чисел — это числа, возникающие при:
- подсчёте (нумеровании) предметов (первый, второй, третий, …);
То есть, в Си при нумеровании существуют 0-й, 1-й, 2-й, ... элементы массива,
а в Паскале при нумеровании могут существовать -n-й, ..., -1-й, -0-й, 1-й, ... элементы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2014, 16:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Определить, сколько различных цифр встречается в десятичной записи числа
Задание: Дано натуральное число n. Сколько различных цифр встречается в его десятичной части? ...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти...

Сколько различных цифр встречается в десятичной записи числа?
Дано натуральное число n. Сколько различных цифр встречается в его десятичной записи?

Сколько различных цифр встречается в десятичной записи натурального числа
Уважаемые профессионалы, прошу решение такой задачи, через массив, чем проще написано тем лучше )...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.