Вопрос задан 21.02.2019 в 22:26. Предмет Информатика. Спрашивает Мартышкин Алексей.

Ввести натуральное число и определить, какие цифры встречаются несколько раз. ОБЯЗАТЕЛЬНО

использовать until, repeat.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шалесный Артём.
Судя, по ключевым словам надо написать программу на языке Pascal с использованием цикла с потусловием. Алгоритм может быть такой:
1. Создадим массив для хранения информации о количестве встретившихся цифр во введенном числе.
2. Ввод самого числа, далее в цикле находим остаток от деления на 10 и увеличиваем значение элемента массива с индексом равным получившемуся остатку на 1. Делим число нацело на десять. Повторяем пока число не равно 0.
3. Выводим результат. В массиве индекс элемента указывает на цифру числа, а значение элемента на количество этой цифры в числе. 

//РасаlABC.net v3.1

var a:array[0..9]of integer;

n,i,m: integer;

begin

  readln(n);

  repeat

    m:=n mod 10;

    inc(a[m]);

    n:=n div 10;

  until n<=0;

  for i := 0 to 9 do begin

    if a[i]>1 then writeln('Цифра:',i,' количество:', a[i]);

  end;

end.

Тестовый прогон:

1112333

Цифра:1 количество:3

Цифра:3 количество:3

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи, можно использовать цикл until и repeat. Вот подробный алгоритм для решения данной задачи:

1. Ввести натуральное число с клавиатуры. 2. Создать массив цифр, в котором будем хранить количество встреч каждой цифры. Изначально все значения массива равны 0. 3. Используя цикл until, начать перебирать каждую цифру числа от младшей разряда к старшей. 4. Внутри цикла until: - Получить текущую цифру числа, используя операцию модуля 10 (остаток от деления на 10). - Увеличить соответствующее значение в массиве цифр. - Убрать текущую цифру из числа, используя операцию деления на 10. - Повторять шаги 3-4, пока число не станет равным 0. 5. Используя цикл repeat, перебрать все значения массива цифр. 6. Внутри цикла repeat: - Если значение текущей ячейки массива больше 1, то вывести эту цифру на экран. 7. Завершить выполнение программы.

Пример кода на языке Pascal:

``` program DuplicateDigits; var number, digit, i: integer; digitsCount: array[0..9] of integer;

begin // Ввод натурального числа write('Введите натуральное число: '); readln(number);

// Инициализация массива цифр for i := 0 to 9 do digitsCount[i] := 0;

// Подсчет встреч цифр repeat digit := number mod 10; digitsCount[digit] := digitsCount[digit] + 1; number := number div 10; until number = 0;

// Вывод повторяющихся цифр writeln('Повторяющиеся цифры:'); for i := 0 to 9 do begin if digitsCount[i] > 1 then writeln(i); end; end. ```

Этот код позволяет ввести натуральное число, подсчитывает количество встреч каждой цифры и выводит на экран цифры, которые встречаются несколько раз.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос