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

Посчитать количество максимальных цифр в числе

06.12.2017, 17:41. Показов 5384. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код программы,которая вычисляет максимальную цифру в числе:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program for;
var n:longint;
    max,i:integer;
begin
writeln('N=');
readln(n);
max:=0;
for i:=0 to n do
 begin 
  if max < n mod 10 then max:=n mod 10;
  n:=n div 10
 end;
writeln('max=',max)
end.

Как сделать так,чтобы выводилось еще и количество макс.цифр числа?Например в 68999 ут количество макс.цифры числа составляет 3


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
Program for5;
var n:longint;
    max,i,k,kol:integer;
begin
writeln('N=');
readln(n);
max:=0;
for i:=0 to n do
 begin 
  if max < n mod 10 then max:=n mod 10;
  n:=n div 10
 end;
for k:=1 to n do
 begin
if kol < n mod 10 then 
kol:=n mod 10;
n:=n div 10;
 end;
if kol=max then
k:=k+1 else
 if kol <> max then 
repeat
if kol < n mod 10 then 
kol:=n mod 10;
n:=n div 10
until kol=max;
writeln('k= ', k);
writeln('max=',
k у меня будет считать это кол-во,когда макс.цифра повторяется,то в счетчик идет +1,если же нет,то у меня repeat until идет до тех пор,пока не найдется следующее число до n...запутался...

Добавлено через 5 минут
Что-то да,второй счетчик у меня ничего и не считает..

Добавлено через 2 минуты
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
Program for5;
var n:longint;
    max,i,k,kol:integer;
begin
writeln('N=');
readln(n);
max:=0;
for i:=0 to n do
 begin 
  if max < n mod 10 then max:=n mod 10;
  n:=n div 10
 end;
for k:=1 to n do
 begin
repeat
if kol < n mod 10 then 
kol:=n mod 10;
n:=n div 10;
until
kol=max
end;
if kol=max then
k:=k+1;
writeln('k= ', k);
writeln('max=',max)
end.

Так тоже не прибавляется..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2017, 17:41
Ответы с готовыми решениями:

Посчитать количество цифр в числе через оператор for
Задача самая простая - сколько цифр в натуральном числе, вводимом с клавиатуры. Но вот оператор, которым необходимо это найти для меня как...

Как посчитать количество цифр в числе
i1:= 3284; i2:=214; i3:= 23473; i4:= 1; Как посчитать количество цифр в числе в i1 - 4 i2 - 3 i3 - 5 i4 - 1

Как посчитать количество цифр в числе типа Real
Допустим у меня есть два числа типа Real r1:= 32.3456 r2:= 1.63 Как в них посчитать и целую часть и десятичную чтобы он...

3
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,434
06.12.2017, 18:39
Лучший ответ Сообщение было отмечено furymaxim как решение

Решение

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

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
  k, n, nn, max: Integer;
 
begin
  max := 0;
  k := 0;
  readln(nn);
  n := nn;
  while nn > 0 do
  begin
    if (nn mod 10) > max then 
      max := nn mod 10;
    nn := nn div 10;
  end;
  writeln(max);
  nn := n;
  while nn > 0 do
  begin
    if (nn mod 10) = max then 
      inc(k);
    nn := nn div 10;
  end;
  writeln(k);  
end.
1
1 / 1 / 0
Регистрация: 25.09.2016
Сообщений: 160
06.12.2017, 18:43  [ТС]
спасибо большое!также inc(K) можно спокойно заменить на k:=k+1,смысл не измениться,для тех,кто будет задаваться таким вопросом в будущем
0
Модератор
10416 / 5703 / 3401
Регистрация: 17.08.2012
Сообщений: 17,363
07.12.2017, 23:02
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

ZX Spectrum-128, в Вашем коде алгоритмическая ошибка. Если n=0, то получится k=0, а должно быть k=1. Можно исправить, добавить перед 17 строкой
Pascal
  if nn = 0 then k := 1;
но лучше применить не while..do, а repeat..until, тогда цикл выполнится как минимум один раз, и k будет в любом случае вычислено правильно.

furymaxim, не нужно ничего спокойно заменять. Для целых чисел лучше использовать не k:=k+1 и k:=k-1, а inc(k) и dec(k), поскольку последнее компилируется в более эффективный код.

Мой вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var k, n, d, m: longint;
begin
  write('n = ');
  readln(n);
  n := abs(n);
  repeat
    d := n mod 10;
    n := n div 10;
    if m = d
      then inc(k)
      else if m < d
        then begin
          m := d;
          k := 1
        end
  until n = 0;
  writeln('Максимальная цифра: ', m, ', количество максимальных цифр: ', k);
  readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2017, 23:02
Помогаю со студенческими работами здесь

Как посчитать количество цифр в числе после запятой
есть число 3.45678 как посчитать числа после запятой т.е. 5

Строка: посчитать количество цифр в числе и сколько раз в число входит цифра 5.
Дана строка символов, содержащая не более 255 цифр. Необходимо посчитать количество цифр в числе и сколько раз в число входит цифра 5.

Посчитать количество цифр в числе
как посчитать количество цифр в числе?

Посчитать количество цифр 7 в каждом числе
здравствуйте, подскажите пожалуйста с задачей: дано 5 чисел. посчитать количество цифр 7 в каждом числе. заранее спасибо)

Написать программу, посчитать количество цифр в числе кратных 3
Написать программу, посчитать количество цифр в числе кратных 3 У меня если записать 333 то выйдет 2 числа кратные 3. Можно только через...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru