В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
MaksSeemo
MaksSeemo
02.01.2023 03:28 •  Информатика

1.Между населёнными пунктами A, B, C, D, E, F построены дороги, протежённость которых ( в километрах) приведена на таблице. Определите длину кратчайшего простого пути между A и F, проходящего через пункт B. Передвигаться можно только по дорогам, протяжённость которых указана в таблице 2. Между населёнными пунктами A, B, C, D, E постоены дороги, протяжённость которых ( в километрах) произведена в таблице. Определите длину крупнейщего пути между пунктами A и E, проходящего через пункт C. Передвигаться можно только по дорогам, протяжённость которых указана в таблице.
3. Между населенными пунктами A, B, C, D, E построены дороги, протяжённость которых ( в киллометрах) приведена в таблице.
Определите длину кратчайшего простого пути между пунктами A и C, проходящего через пункт D. Передвигаться можно только по дорогам, протяжённость которых указана на таблице

Показать ответ
Ответ:
annaaverina
annaaverina
28.11.2020 07:45

#include <iostream>

#include <iomanip>

using namespace std;

int** matrCreate(int n)

{

   int** M;

   M = new int *[n];

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

       M[i] = new int [n];

   return M;

}

void matrInit(int** M, int n)

{

   srand(time(0));

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

    for(int j = 0;  j < n;  j++)

     M[i][j] = rand()%199 - 99 ;

}

void matrPrint(int** M, int n)

{

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

{

    for(int j = 0;  j < n;  j++)

     cout << setw(5) << M[i][j];

   cout << endl;

}

}

void matrTransform(int** M, int n)

{

   int im, jm, max = -1000, s = 0;

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

{

    for(int j = 0;  j < n;  j++)

    {

        if (M[i][j] > max)

        {

            max = M[i][j];

            im = i;

            jm = j;

        }

        if (i == j)

            s += M[i][j];

    }

}    

M[im][jm] = s;    

}

void clearMem(int** M, int n)

{

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

{

 delete [] M[i];

}

delete [] M;

}

int main()

{

   int n;

   cin >> n;

   int **A;

   A = matrCreate(n);

   matrInit(A, n);

   matrPrint(A, n);

   cout << endl;

   matrTransform(A, n);

   matrPrint(A, n);

   clearMem;

   return 0;

}


Найти сумму элементов главной диагонали квадратной матрицы и заменить ею максимальный элемент. Оформ
0,0(0 оценок)
Ответ:
mridrazov
mridrazov
12.07.2022 17:38

Better late than never - Лучше поздно чем никогда

Объяснение:

Если четные и нечетные символы зашифрованы разными ключами, то вначале нужно привести их к одному ключу. Известно что разность между k1 и k2 составляет 3 символа. Значит нечетный ключ больше четного на 3. Например если для нечетных символов использовался сдвиг 5, то для четных будет использован сдвиг 2 (потому что 5-3=2).

Что бы привести фразу к одному ключу нужно все четные символы заменить на символы, стоящие на 3 позиции дальше по алфавиту.

W - не трогаем

W- меняем на Z

O - не трогаем

L - меняем на O

Z - не трогаем

I - меняем на L

G - не трогаем

S - меняем на V

O - не трогаем

W - меняем на Z

O - не трогаем

Z - меняем на C

V - не трогаем

F - меняем на I

I - не трогаем

W - меняем на Z

Q - не трогаем

W - меняем на Z

M - не трогаем

Получаем новую фразу:

W Z O O Z L G V O Z O C V I I Z Q Z M

где нечетные и четные символы зашифрованы одним и тем же ключом.

Поскольку в английском алфавите всего 26 букв, то число ключей составляет всего 25 штук, после чего они просто начнут повторятся.

Используя новую полученную фразу и английский алфавит пробуем заменить все буквы на следующие по порядку со сдвигом 1. Получаем текст

XAPPAMHWPAPDWJJARAN - бессмыслица. Тогда пробуем заменить текст со сдвигом на 2 буквы. получим фразу:

YBQQBNIXQBQEXKKBSBO - тоже не имеет смысла.

Сдвиг на 3 и на 4 буквы дает соответственно фразы

ZCRRCOJYRCRFYLLCTCP

ADSSDPKZSDSGZMMDUDQ

что тоже не имеет смысла.

Сдвиг на 5 символов дает фразу

BETTEQLATETHANNEVER - что очень похоже на английские слова (с одной ошибкой).

Делим полученную фразу на слова

BETTEQ LATE THAN NEVER

и приходим к выводу, что зашифровано было английское выражение

Better late than never - Лучше поздно чем никогда.

PS. Единственное, тут есть одна ошибка, вместо слова BETTER после расшифровки получаем слово BETTEQ. Не знаю чем это объяснить. В исходной фразе на этом месте стоит символ I. После приведения к одному коду на этом месте появляется символ L , который стоит на 3 позиции дальше от I. При расшифровке, вместо L получаем символ Q, который стоит на 5 символов дальше L и именно это Q попадает в слово BETTEQ. Скорее всего тут ошибка в условии задачи.

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