
Дан массив из натуральных чисел 1)Построить новый, из тех которые делятся на младшую цифру (25:5
или 142:2) 2)Построить массив из тех, которые делятся на старшую (26:2 или 369:3 или 258:2) 3)Найти количество чисел в исходном массиве, у которых цифры все одинаковы. Все числа и действия в скобках являются пояснением к задаче Программа выполняется на языке паскаль.

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





Конечно, вот как может выглядеть код на языке Pascal для выполнения каждой из задач:
1) Построить новый массив из чисел, которые делятся на младшую цифру
```pascal program Task1; const N = 5; // размер исходного массива var A: array[1..N] of Integer = (25, 142, 36, 47, 50); // исходный массив B: array[1..N] of Integer; // массив, который будет содержать числа, делящиеся на младшую цифру i, j: Integer; begin j := 0; // индекс для нового массива B for i := 1 to N do begin if A[i] mod (A[i] mod 10) = 0 then // проверяем делится ли число на его младшую цифру begin j := j + 1; B[j] := A[i]; // если делится, добавляем в новый массив end; end;
// Вывод результата writeln('Числа из исходного массива, которые делятся на младшую цифру:'); for i := 1 to j do write(B[i], ' '); end. ```
2) Построить массив из чисел, которые делятся на старшую цифру
```pascal program Task2; const N = 6; // размер исходного массива var A: array[1..N] of Integer = (26, 369, 258, 47, 50, 123); // исходный массив B: array[1..N] of Integer; // массив, который будет содержать числа, делящиеся на старшую цифру i, j: Integer; begin j := 0; // индекс для нового массива B for i := 1 to N do begin if A[i] mod (A[i] div Trunc(Power(10, Trunc(Log10(A[i]))))) = 0 then // проверяем делится ли число на его старшую цифру begin j := j + 1; B[j] := A[i]; // если делится, добавляем в новый массив end; end;
// Вывод результата writeln('Числа из исходного массива, которые делятся на старшую цифру:'); for i := 1 to j do write(B[i], ' '); end. ```
3) Найти количество чисел в исходном массиве, у которых цифры все одинаковые
```pascal program Task3; const N = 6; // размер исходного массива var A: array[1..N] of Integer = (111, 369, 333, 47, 505, 123); // исходный массив count, num, digit, temp: Integer; allSame: Boolean; begin count := 0; // счетчик чисел с одинаковыми цифрами
for num in A do begin allSame := True; temp := num; digit := temp mod 10; // запоминаем последнюю цифру temp := temp div 10;
while (temp > 0) and allSame do begin if temp mod 10 <> digit then // проверяем, одинаковы ли все цифры числа allSame := False; temp := temp div 10; end;
if allSame then count := count + 1; end;
// Вывод результата writeln('Количество чисел в исходном массиве, у которых все цифры одинаковые:', count); end. ```
Эти программы предполагают фиксированные массивы, но вы можете адаптировать их для динамических массивов или для ввода пользователем.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili