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

Сколько существует различных путей из города А в город К, проходящих через город Д? ​


Сколько существует различных путей из города А в город К, проходящих через город Д? ​

Показать ответ
Ответ:
бородкин
бородкин
25.08.2021 20:40

#include <iostream>

#include <time.h>  // для time()

//функция сортировки

void sort(double** _base_mas, double** _copy_mas, int n, int m)

{

// копируем из базового в под запись

for (long long jjj = 0; jjj < long long(n) * m; jjj++)

 *(*(_copy_mas + jjj / n) + jjj % n) = *(*(_base_mas + jjj / n) + jjj % n);

// сортируем

for (long long kkk = 0; kkk < long long(n) * m; kkk++)

 for (long long jjj = 1; jjj < long long(n) * m; jjj++) {

  double& first = *(*(_copy_mas + (jjj - 1) / n) + (jjj - 1) % n);

  double& second = *(*(_copy_mas + jjj / n) + jjj % n);

  if (first < second) std::swap(first, second);

 }

// конструкция избежать переполнение на байтовом уровне (из 4 в 8)

}

int main() {

srand(time(0));

int n;

int m;

std::cout << "Enter length: ";

std::cin >> n;

std::cout << "Enter height: ";

std::cin >> m;

double** base_mas = new double* [m]; // исходный массив

double** copy_mas = new double* [m]; // массив под запись

std::cout << "befor:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 base_mas[jjj] = new double[n];

 copy_mas[jjj] = new double[n];

 // заполняем исходный массив случайными числами и выводим в консоль

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

 {

  base_mas[jjj][kkk] = rand() % 101;

  std::cout << base_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// сортируем

sort(base_mas, copy_mas, n, m);

// выводим результат

std::cout<<"\nafter:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 for (int kkk = 0; kkk < n; kkk++) {

  std::cout << copy_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// овобождаем память (хотя т.к конец программы делать не обязательно)

for (int jjj = 0; jjj < m; jjj++) {

 delete[] base_mas[jjj];

 delete[] copy_mas[jjj];

}

delete[] base_mas;

delete[] copy_mas;

}

0,0(0 оценок)
Ответ:
alicemuhametp0aof9
alicemuhametp0aof9
15.04.2023 20:21
ответ:

Задание 1:  отсутствует алгоритм (условие неполное - решения нет).

Задание 2: отсутствует алгоритм (условие неполное - решения нет).

Задание 3: i = 1,  y = -14

Объяснение:

Алгоритм:

1.  Начало2. Ввод x,y3. y := y - x4. i := i + 15. Если y <= x , то возвращаемся к пункту 3, иначе:6. Конец

Пройдёмся по алгоритму:

1.  Начало2. Ввод x,y

Вводим 12 и -2 (теперь x = 12,  y = -2).

3. y := y - x

Уменьшаем переменную y на x (теперь y = -2 - 12 = -14).

4. i := i + 1

Увеличиваем переменную i на 1 (теперь i = 0 + 1 = 1).

5. Если y <= x , то возвращаемся к пункту 3, иначе:6. Конец

Проверяем: сейчас y = -14,   x = 12,  =>  условие "y <= x" выполняется, и мы переходим к пункту 6 -- конец.

Как мы видим, по завершении выполнения алгоритма i = 1, y = -14.

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