Паскаль. Заменить все числа которые кратные 3 и не кратны 6 ** 1

0 голосов
33 просмотров

Паскаль. Заменить все числа которые кратные 3 и не кратны 6 на 1


Информатика (20 баллов) | 33 просмотров
0

Желательно с обьяснением

0

Какое кол-во чисел? Как они получаются? (вводятся с клавиатуры или рандомайзом)

Дан 1 ответ
0 голосов

var

   n : integer; // длина мвссива

   a : integer; // количество замен

   

begin

   write('введите длину массива ');

   readln(n);

   var d : array of integer := new integer[n]; // создаем массив длиной n

   d := ArrRandom(n, 6, 100); // заполняем массив случайными числами от 6 до 100

   writeln('был сгенерирован массив ', d);

   for var i := 0 to n-1 do begin

       if (d[i] mod 3 = 0) and (d[i] mod 6 <> 0) then begin  // проверяем содержимое ячейки массимассива на условие задачи

           d[i] := 1; // заменяем значение ячейки на 1

           a += 1; // увеличиваем счетчик количества замен на 1

       end;

   end;

   writeln('массив после замены ', d);

   writeln('было произведено замен ', a);

end.


итак...

генерируем массив указанной длины n

заполняем его случайными числами в диапозоне 6..100

так как паскаль нумерует ячейки массива начиная с 0 то задаем цикл от 0 до n-1

проверяем значение ячеек на соответствие условию

для этого делим значение на число и смотрим поделилось без остатка значит кратно ему, поделилось с остатком значит не кратно.

если соответствует условию то меняем значение на 1 и увеличиваем счетчик количества замен на 1

выводим сам массив и количество произведенных замен.

(1.2k баллов)