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*
Комментарий*

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

ludakamasana
grigoriev8
mmreznichenko
Vladimirovna1858
lazareva
egorsalnikov1997139
aluka
lobanosky162
Nekrasova
postbox
museumuzl
Yuliya mikhail
jgaishun756
Маринина_Елена
Malenyuk