Скачиваний:
0
Добавлен:
04.01.2025
Размер:
238.81 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ЭПУ

отчет

по лабораторной работе №5

по дисциплине «Информационные технологии»

Тема: «Алгоритмы поиска медианы и генерирования перестановок»

Студент гр. 1205

Агеев А.А.

Преподаватель

Ларионов И. А.

Санкт-Петербург 2022

Цель работы: решить задачи по реализации поиска медианы и генерирования перестановок, проверить корректность результатов работы программы.

Блок-схемы:

Рисунок 1 – блок-схема алгоритма поиска медианы

Рисунок 2 – блок-схема алгоритма генерирования перестановок

Код программы:

1) Поиск медианы #include <iostream>

#include <algorithm>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

int N; //размерность

float m;

cout << "Введите размерность массива: ";

cin >> N;

int* A = new int[N];

cout << "Массив: ";

for (int i = 0; i < N; i++) {

cout << endl << " Введите значение массива A[" << i << "]: ";

cin >> A[i];

}

cout << endl;

if (N % 2 != 0) m = A[N / 2];

else m = (A[N / 2] + A[N / 2 - 1]) / 2.0;

cout << "Медиана: " << m << endl;

return 0;

}

2) Перестановки

#include <iostream>

using namespace std;

void swap(int x, int y, int* A) {

int t = A[x];

A[x] = A[y];

A[y] = t;

}

void Generate(int k, int N, int* A) {

if (k == N) {

for (int j = 0; j < N; j++) {

cout << A[j] << " ";

}

cout << endl;

}

else {

for (int j = k; j < N; j++) {

swap(k, j, A);

Generate(k + 1, N, A);

swap(k, j, A);

}

}

}

int main() {

setlocale(LC_ALL, "Russian");

int N; //размерность

float m;

cout << "Введите размерность массива: ";

cin >> N;

int* A = new int[N];

cout << "Массив: ";

for (int i = 0; i < N; i++) {

A[i] = i + 1;

cout << A[i] << " ";

}

cout << endl;

Generate(0, N, A);

return 0;

}

Листинг результатов:

  1. Поиск медианы:

Рисунок 3 – результат работы алгоритма поиска медианы

  1. Перестановки

Рисунок 4 - результат работы алгоритма генерирования перестановок

Выводы: написаны программы, выведены результаты.

Соседние файлы в папке Лабы