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

maly2111q maly2111q    2   07.10.2019 07:40    0

Ответы
адрдрюе адрдрюе  10.10.2020 01:11

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

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика