Yelizaveta555
?>

Составить программу вычисления максимального и минимального элемента линейного массива состоящего из 14 случайных чисел, принадлежащих диапазону (0; 90]

Информатика

Ответы

Овчинников_Грузман
Program PAS;
Const
   N = 14;
Var
   A:Array[1..N] of integer;
   i,Max,Min:integer;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(90)+1;
    Write(' ',A[i]);
    End;
WriteLn;
Max:=1;
Min:=1;
For i:= 2 to N do
    Begin
    if A[i]>A[Max] then Max:=i;
    if A[i]<A[Min] then Min:=i;
    End;
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);
WriteLn('Min(A) = A[',Min,'] = ',A[Min])
End.

Пример:
Исходный массив: 66 70 88 36 30 11 53 1 57 77 6 40 65 46
Max(A) = A[3] = 88
Min(A) = A[8] = 1
oafanasiev41

using System;

namespace ConcoleApplication

{

   class Program

   {

       enum CardinalPoints //Стороны света

       {

           North,

           West,

           South,

           East

       }

       public static int Convert(int a)//Перевод команды(сделал для удобства)

       {

           if (a == -1)

               return 3;

           if (a == 1)

               return 1;

           return 2;

       }

       public static void Main()

       {

           var n1 = int.Parse(Console.ReadLine());

           var n2 = int.Parse(Console.ReadLine());

           n1 = Convert(n1);

           n2 = Convert(n2);

           var point = (n1 + n2) % 4;

           switch ((CardinalPoints) point)//Вывод ответа

           {

               case CardinalPoints.East:

                   Console.WriteLine("Восток");

                   break;

               case CardinalPoints.South:

                   Console.WriteLine("Юг");

                   break;

               case CardinalPoints.West:

                   Console.WriteLine("Запад");

                   break;

               case CardinalPoints.North:

                   Console.WriteLine("Север");

                   break;

           }

       }

   }

}

Объяснение:

Советую потестировать. Если что исправлю, самому просто лень было тестировать)

colus77

ответ: FIRSTTHINGSFIRST

Примечание: "шаг X" означает таблицу на рисунке, которая совпадает с номером X.

1. Рисуем квадрат 4x4 и заполняем известными значениями (шаг 1).

2. Видим, что в диагонали отсутствует одно число. Но мы знаем, что сумма чисел в диагонали магического квадрата равна константе, которая вычисляется по формуле:

M = \frac{n(n^2 + 1)}{2}

Подставляем в формулу известные значения:

M = \frac{4(4^2+1)}{2} = 34

Теперь вычитаем известные значения в диагонали: 34 - 13 - 11 - 4 = 6.

Подставляем в пустую клетку это значение (шаг 2).

3. Так же есть свойство магического квадрата 4x4: квадраты 2x2 на углах квадрата 4x4 тоже "равны" константе. Нам известен левый нижний угол. Если сложить все числа, получится 34. В правом верхнем квадрате нам не известно одно число. Вычитаем известные значения из константы: 34 -2 -13 - 11 = 8. Подставляем в пустую клетку значение 8 (шаг 3).

4. Шаг 4.

В условии сказано, что это нормальный магический квадрат, то есть в нем должны быть числа от 1 до 16. Выпишем справа числа, которых еще нет в магическом квадрате. Также над каждой колонкой и рядом с каждой строкой запишем количество, которого не хватает до 34-х.

Видим две колонки, которым не хватает 21-го. 21 из имеющихся чисел можно получить добавив либо 16 + 5, либо 14 + 7. Записываем о одну колонку 16 и 5, а в другую 14 и 7. Как мы видим, по столбцам все правильно, так как над ними написан 0. А вот по строкам не сходится. К первой строке и ко второй надо добавить те числа, которые у нас есть в наборе, но вот 5 и 8 уже есть в квадрате, значит что-то мы сделали неправильно (шаг 5).

5. Тогда попробуем поменять местами в 3-ей колонке 14 и 7 (шаг 6). Теперь мы видим, что можем поставить в каждую строку недостающее значение из оставшихся чисел (шаг 7). Получился магический квадрат для расшифровки.

6. Подставляем оставшиеся числа из списка. И проверяем, расшифровывая сообщение. После расшифровки получится фраза FIRSTTHINGSFIRST. Эта фраза осмысленная, потому что если добавить пробелы, получится выражение FIRST THINGS FIRST.


Информатика 11 класс олимпиада информационная безопасность

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

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

Составить программу вычисления максимального и минимального элемента линейного массива состоящего из 14 случайных чисел, принадлежащих диапазону (0; 90]
Ваше имя (никнейм)*
Email*
Комментарий*

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

suxoruchenkovm171
barg562
Диана-Николаевна377
avetisov-84850
vtarasyuk
lbondareva
mzia-mzia-60682
AkimovaI1608
alakhverdov138
shilinmikhaillg
avguchenkov
iordanekaterina
Ильдар-Кугай
Shcherbinin KOLIChEVA
Mariya Filippov