artem2006sokol
07.09.2021 15:01

Дан массив Z1, ... , Z16 . Определить количество элементов, меньших среднего арифметического всего ряда. Если таких

элементов более десяти, то поменять местами Zmax и Z1.
(программа delphi)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Нвдуооп
04.03.2022 16:15

var n, i, x, min: integer;

begin

 n:=12; //задаем количество чисел.

 min:=16;//присваиваем минимум по правилу:"Минимуму присваиваем самое большое число".

 Randomize;

for i:=0 to n-1 do //цикл для рандома 12 чисел. Можно написать " for i:=1 to n do"

    begin

     x:=Random(31)-15;  //присваиваем перемененной "x" рандомное значение из диапазона [-15;15].

     Writeln(x); //выводим значение "x".

      if (min > x) and (x mod 2 <> 0) then  //если минимум больше полученного "x" и "x" - нечетный, то

        min:=x;  //минимуму присваиваем значение "x".

   end;

Writeln('Наименьшее нечетное число последовательности: ',min); //выводим ответ.

end.

0,0(0 оценок)
Ответ:
nikita1247
04.04.2022 05:26

Объяснение:

Что касается ошибки в строке n3, то скорее всего проблема в пропущенной ";".

Исправленная строка: n3:=n div 100;

А что касается задачи, то она не удовлетворяет условию, так как:

1. В строке "n:=n div 10;" переприсваиваете значение переменной "n". То есть, если при начале работы программы мы вводим "999", то в строке "n:=n div 10;" значение переменной "n" уже будет не "999", а "99". От этого идет и другая ошибка.

2. Учитывая предыдущий пункт, то строка "n3:=n div 100" является ошибочной. Потому что переменная "n" равна 99 и, применяя операцию "div 100", получаем "0", так как при целочисленном делении 99 на 100 мы получаем "0". Из-за этого программа будет работать некорректно.

Решение проблем:

Если хотите оставить тот же алгоритм, то следует вместо переменной "n" в строке "n:=n div 10;" использовать другую переменную.

Пример исправной задачи:

Var n,n1,n2,n3, k :integer;

begin

readln (n);

n1:=n mod 10;

k:=n div 10;

n2:=k mod 10;

n3:=n div 100;

if (n1=n2) and (n2=n3) then writeln ('Y') else writeln ('N');

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота