Заменить все элементы массива, которые делятся без остатка на «3», на единицы (9); - Pascal ABC
Формулировка задачи:
Что не так делаю?
Решение задачи: «Заменить все элементы массива, которые делятся без остатка на «3», на единицы (9);»
textual
Листинг программы
uses crt;
const nmax=9;
var a:array[1..nmax] of integer;
n,i:integer;
begin
randomize;
repeat
write('Размер массива от 1 до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы массива, в том числе кратные 3');
for i:=1 to n do
begin
write ('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('Замена всех элементов массива, которые делятся без остатка на 3:');
for i:=1 to n do
begin
if a[i] mod 3=0 then a[i]:=1;
write(a[i],' ');
end;
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для генерации случайных чисел.
- Затем определяется константа nmax, которая ограничивает размер массива до 9 элементов.
- Создается переменная a типа array[1..nmax] of integer, которая представляет собой массив из nmax элементов целого числа.
- Далее определяются две переменные n и i, которые будут использоваться для итерации по массиву.
- Код повторяется до тех пор, пока n не будет введено число от 1 до nmax.
- Вводится размер массива n.
- Читаются элементы массива, начиная с первого элемента и до n.
- Выводится исходный массив.
- Запускается цикл, который проходит по каждому элементу массива a[i].
- Если остаток от деления a[i] на 3 равен нулю, то a[i] заменяется на 1.
- Выводится значение a[i].
- Код завершается.