Геннадьевич-Тимофеева158
?>

1) заполните массив случайными числами и переставьте соседние элементы, поменяв 1-ый элемент со 2-м, 3-й – с 4-м и т.д. 2) напишите программу, которая находит максимальный и минимальный из чётных положи- тельных элементов массива. если в массиве нет чётных положительных элементов, нужно вывести сообщение об этом.

Информатика

Ответы

Obukhov-Buriko
Var N:Array[1..20] of integer; i,j,q,k,max:integer;begin Randomize;writeln('массив');for i:=1 to 20 do beginN[i]:= random(100)-50;write(N[i]:4);end;writeln;i:=0;writeln('Измененый массив');While j<20 do beginj:= j + 2; k := N[j-1];N[j-1]:=N[j]; N[j]:= k;end;foreach q in N do beginwrite(q :4);end;end.
var N,M:Array[1..20] of integer; i,j,min,q,k,max:integer;begin Randomize;max:=-200; min:=200;writeln('1 массив');for i:=1 to 20 do beginN[i]:= random(100)-50;write(N[i]:4);if ((N[i]>0 )and(N[i] mod 2 = 0))then beginif max < N[i] then max := N[i];if min > N[i] then min := N[i];j:= j + 1;M[j]:=N[i];end;end;writeln;writeln('2 массив');foreach k in M do beginwrite(k:4);end;writeln;if (max = -200) or (min = 200)  then write ('нет чётных положительных элементов')else beginwrite('max = ' ,max:4);write('  min = ' ,min:4);end;end.
1) заполните массив случайными числами и переставьте соседние элементы, поменяв 1-ый элемент со 2-м,
sveta300856729
Давай попробуем рассуждать логически.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.

Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов. 

Думаю что так, если не напутал. Но ты лучше проверь за мной. 
marinatehnomaster21
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1) заполните массив случайными числами и переставьте соседние элементы, поменяв 1-ый элемент со 2-м, 3-й – с 4-м и т.д. 2) напишите программу, которая находит максимальный и минимальный из чётных положи- тельных элементов массива. если в массиве нет чётных положительных элементов, нужно вывести сообщение об этом.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Нозадзе_Новиков392
arbekova
Coverplus30
mukbidc
ibird777
vadim330
X2755070
Margarita
zrv85
girra
Ананян Иван1281
veniaminsem
Голосова-Лобанов1555
llipskaya
lighturist