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

Для передачи секретного сообщения на английском языке использовался равномерный двоичный код : каждый символ исходного сообщения кодировался двоичной цепочкой одной и той же
минимально возможной длины. Какова длина переданного двоичного кода, если исходное
сообщение состояло из 20 символов? (Мощность алфавита, используемого для записи
секретного сообщения, равна 26)
СИМВОЛОВ.
ответ: длина переданного двоичного кода —​

Показать ответ
Ответ:
sakds
sakds
07.11.2020 04:16

#include <iostream>

#include <time.h>

#include <stdio.h>

using namespace std;

int main()

{

   srand(time(NULL));

   int mas[100][100] = {};

   int side;

   cout << "Введите размер стороны квадратной матрицы: ";

   cin >> side;

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

   {

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

       {

           mas[i][j] = 10 + rand() % (99 - 10 + 1);

           cout << mas[i][j] << " ";

       }

       cout << endl;

   }

   int max = mas[0][0];

   int max_ind_i = 0;

   int max_ind_j = 0;

   int min = mas[0][0];

   int min_ind_i = 0;

   int min_ind_j = 0;

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

   {

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

       {

           if (max < mas[i][j])

           {

               max = mas[i][j];

               max_ind_i = i;

               max_ind_j = j;

           }

           if (min > mas[i][j])

           {

               min = mas[i][j];

               min_ind_i = i;

               min_ind_j = j;

           }

       }

   }

   cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j;

}

Объяснение:

Максимальный размер массива - 100 на 100

#include <iostream> // Библиотека ввода - вывода

#include <time.h> // Библиотека для работы со временем

#include <stdio.h> // Библиотека, содержащая функцию рандома

using namespace std; // Пространство имён

int main()

{

   srand(time(NULL)); // При каждом запуске программы будут новые псевдослучайные числа

   int mas[100][100] = {}; // Двумерный массив 100 на 100, заполненный нулями

   int side; // Переменная, хранящая сторону квадратной матрицы

   cout << "Введите размер стороны квадратной матрицы: "; // Вывод сообщения в консоль

   cin >> side; // Вводим сторону матрицы с клавиатуры

   for (int i = 0; i < side; i++) // Цикл для заполнения и вывода массива

   {

       for (int j = 0; j < side; j++) // Цикл для заполнения и вывода массива

       {

           mas[i][j] = 10 + rand() % (99 - 10 + 1); // Заполнение двумерного массива псевдослучайными числами в диапазоне [10, 99]

Формула: a + rand() % ( b - a + 1)

           cout << mas[i][j] << " "; // Выводим элемент массива

       }

       cout << endl; // Переносим на следующую строку (для красивого вывода)

   }

   int max = mas[0][0]; // Максимум = первому элементу массива

   int max_ind_i = 0; // Индекс max  i = 0

   int max_ind_j = 0; // Индекс max j = 0

   int min = mas[0][0]; // Минимум = первому элементу массива

   int min_ind_i = 0; // Индекс min i = 0

   int min_ind_j = 0; // Индекс min j = 0

   for (int i = 0; i < side; i++) // Цикл для прохода по всем элементам массива

   {

       for (int j = 0; j < side; j++) // Цикл для прохода по всем элементам массива

       {

           if (max < mas[i][j]) // Ищем максимум в массиве

           {

               max = mas[i][j]; // Присваиваем переменной max значение, которое оказалось больше ее

               max_ind_i = i; // Запоминаем индекс

               max_ind_j = j; // Запоминаем индекс

           }

           if (min > mas[i][j]) // Ищем минимум в массиве

           {

               min = mas[i][j]; // Присваиваем переменной min значение, которое оказалось меньше ее

               min_ind_i = i; // Запоминаем индекс

               min_ind_j = j; // Запоминаем индекс

           }

       }

   }

   cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j; // Выводим ответ

}

0,0(0 оценок)
Ответ:
magauiyaa
magauiyaa
25.06.2020 22:47
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

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