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

Задача 6. Занимательная упаковка ( ). Есть некий алгоритм данных, который позволяет упаковывать строки, содержащие повторяющиеся символы, в более короткие последовательности. Также, имеется и обратный алгоритм по распаковке, который «зеркален» упаковке. Работает он так: в случае, когда в последовательности символов встречается более 3 одинаковых символов, идущих друг за другом, алгоритм заменяет обнаруженный фрагмент следующим кодом первым символом указывается «1», далее целым числом указывается количество одинаковых символов и указывается сам символ. Например, строка «» заменяется на 16A (1 — сжимается, 6 количество символов, А сам символов). В случае, когда символы в строке оказываются различными, либо повторяются менее 4-х раз, алгоритм ставит перед такой последовательностью «0» и указывает число символов, подлежащих сжатию. Например, строка «БГВВВГААВР» кодируется следующим образом: не «010БГВВВГААВР» Допустим, имеется строка: «» В упакованном виде она выглядит так: «15A17509ВГБАББГГГ16С» Напишите в ответе последовательность символов (без кавычек), которая получается после выполнения трёх действий следующего алгоритма: 1) Распаковать строку «17A04ЕАЮИ14Б15Ц». 2) Заменить каждую гласную букву на букву «Б».

👇
Открыть все ответы
Ответ:
air7789
air7789
01.08.2020

Экспоненциа́льная за́пись — представление действительных чисел в виде мантиссы и порядка. Удобна при представлении очень больших и очень малых чисел, а также для унификации их написания.

{\displaystyle N=M\cdot n^{p}} N=M\cdot n^{p}, где

N — записываемое число;

M — мантисса;

n — основание показательной функции;

p (целое) — порядок;

{\displaystyle n^{p}} n^{p} — характеристика числа.

Примеры:

1 000 000 (один миллион): {\displaystyle 1{,}0\cdot 10^{6}} 1{,}0\cdot 10^{6}; N = 1 000 000, M = 1,0, n = 10, p = 6.

1 201 000 (один миллион двести одна тысяча): {\displaystyle 1{,}201\cdot 10^{6}} 1{,}201\cdot 10^{6}; N = 1 201 000, M = 1,201, n = 10, p = 6.

−1 246 145 000 (минус один миллиард двести сорок шесть миллионов сто сорок пять тысяч): {\displaystyle -1{,}246145\cdot 10^{9}} -1{,}246145\cdot 10^{9}; N = −1 246 145 000, M = −1,246145, n = 10, p = 9.

0,000001 (одна миллионная): {\displaystyle 1{,}0\cdot 10^{-6}} 1{,}0\cdot 10^{{-6}}; N = 0,000001, M = 1,0, n = 10, p = −6.

0,000000231 (двести тридцать одна миллиардная): {\displaystyle 231\cdot 10^{-9}=2{,}31\cdot 100\cdot 10^{-9}=2{,}31\cdot 10^{2}\cdot 10^{-9}=2{,}31\cdot 10^{-9+2}=2{,}31\cdot 10^{-7}} 231\cdot 10^{{-9}}=2{,}31\cdot 100\cdot 10^{{-9}}=2{,}31\cdot 10^{2}\cdot 10^{{-9}}=2{,}31\cdot 10^{{-9+2}}=2{,}31\cdot 10^{{-7}}; N = 0,000000231, M = 2,31, n = 10, p = −7.

Объяснение: както так

4,4(59 оценок)
Ответ:
Dazzel09
Dazzel09
01.08.2020

int RowWithMax(double m[n][n], int j)

{

   double max_el = m[j][j];

   int max_i = j;

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

   {

       if (abs(m[i][j]) > abs(max_el))

       {

           max_el = m[i][j];

           max_i = i;

       }

   }

   return max_i;

}

 

void RowChange(double m[n][n], double f[n], int i1, int i2)

{

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

   {

       /*m[i1][j] = m[i1][j] + m[i2][j];

       m[i2][j] = m[i1][j] - m[i2][j];

       m[i1][j] = m[i1][j] - m[i2][j];*/

       swap(m[i1][j], m[i2][j]);

   }

   

   swap(f[i1], f[i2]);

}

 

double StraightRun(double m[n][n], double f[n], int i) //прямой метод

{

   double el;

   double det = 1;

   int reverse = 0;

 

   int max_i = RowWithMax(m, i);

   if (i != max_i)

   {

       RowChange(m, f, i, max_i);

       //reverse++;

       det *= (-1);

   }

   el = m[i][i];

   det *= el;

   f[i] /= el;

   for (int i1 = n - 1; i1 >= i; i1--)

   {

       m[i][i1] /= el;

   }

   for (int i2 = i + 1; i2 < n; i2++)

   {

       el = m[i2][i];

       f[i2] -= f[i] * el;

       for (int j = n - 1; j >= i; j--)

       {

           m[i2][j] -= el * m[i][j];

       }

   }

 

 

   return det/**pow(-1, reverse)*/;

 

}

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