М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Віка579
Віка579
07.05.2023 03:14 •  Информатика

Заполните массив случайными числами в [0,1000] и вычислите разность максимального среди элементов, имеющих чётные значения, и максимального среди элементов, имею- щих нечётные значения, в заданном целочисленном массиве из 30 положительных эле- ментов (в предположении, что в массиве есть и чётные, и нечётные элементы)

👇
Ответ:
Pacan4ikForever
Pacan4ikForever
07.05.2023
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
//Внимание! Если программа не работает, обновите версию!
begin
writeln('исходный массив:');
var a:=ArrRandom(30,0,1000).Println();
writeln('разность: ',a.Where(x->x mod 2=0).Max()-a.Where(x->x mod 2<>0).Max());
end.
4,5(36 оценок)
Ответ:
LonelyOne
LonelyOne
07.05.2023
Var
A:array[1..30] of integer;
i,Mc,Mn:integer;

Begin
For i := 1 to 30 do
    Begin
    A[i]:=random(1001);
    if A[i] mod 2 = 0 then Mc:=A[i]
    else Mn:=A[i];
    Write(A[i],' ');
    End;
WriteLn;

For i:= 1 to 30 do
    if (Mc<A[i])and(A[i] mod 2 = 0) then Mc:=A[i]
    else if (Mn<A[i])and(A[i] mod 2 <> 0) then Mn:=A[i];

WriteLn(Mc,' - ',Mn,' = ',Mc-Mn);
End.
4,6(83 оценок)
Открыть все ответы
Ответ:
ban8
ban8
07.05.2023

Очевидно, решения нет, если нужно выпустить ровно K = NM - 1 человека: он должен перейти в какую-то комнату, но из всех комнат, кроме его, есть путь наружу.

При всех остальных K можно, например, поступить так:

- отсчитать сверху и слева направо K комнат, в них открыть дверь вверх

- в оставшихся комнатах, не находящихся в нижнем ряду, открыть путь вниз

- в оставшихся комнатах нижнего ряда, кроме правого нижнего угла, открыть дверь вправо

- в правом нижнем углу, если там ещё не открыта дверь, открыть дверь влево

В итоге K человек уйдут с территории через верх, а остальные будут бесконечно ходить между двумя комнатами в правом нижнем углу.

Код (python 3):

N, M, K = map(int, input().split())

if K == N * M - 1:

   print("IMPOSSIBLE")

elif K == N * M:

   for _ in range(N):

       print("U" * M)

else:

   for _ in range(K // M):

       print("U" * M)

   if K // M < N - 1:

       print("U" * (K % M) + "D" * (M - K % M))

       for __ in range(N - 1 - K // M):

           print("D" * M)

       print("R" * (M - 1) + "L")

   else:

       print("U" * (K % M) + "R" * (M - K % M - 1) + "L")

4,4(83 оценок)
Ответ:
ARINA5656134
ARINA5656134
07.05.2023

#include<bits/stdc++.h>

using namespace std;

int main(){

int n,m,k;

cin>>n>>m>>k;

if(k==m*n-1){

   cout<<"IMPOSSIBLE";

   return 0;

}

char a[n][m];

for(int i = 0; i<n; i++){

   for(int j = 0; j<m; j++){

       if(k>0){

           a[i][j]='U';

           k--;

           cout<<'U';

       } else if((a[i-1][j]=='U' || i==0) && i==n-1 && j!=m-1){

           cout<<'R';

       } else if((a[i-1][j]=='U' || i==0) && i==n-1 && j==m-1){

           a[i][j] = 'L';

           cout<<'L';

       } else if(i==n-1 && a[i-1][j]!='U') {

           cout<<'U';

       } else {

           cout<<'D';

       }

   }

   cout<<endl;

}

return 0;

}

Объяснение

код написан на языке с++;

есть 5 случаев которые приведены в картинках ниже + случай когда n*m-1=k выводит Impossible


5. квест новый квест, в котором участники должны выбраться с территории проведения, представляет соб
5. квест новый квест, в котором участники должны выбраться с территории проведения, представляет соб
5. квест новый квест, в котором участники должны выбраться с территории проведения, представляет соб
5. квест новый квест, в котором участники должны выбраться с территории проведения, представляет соб
4,4(18 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ