Графическое представление алгоритма программы в виде блок-схемы
Ecли он ввел что-то другое выводим «Ошибка введите (y/n) т. е (да или нет)» и заново возвращаемся к данному пункту. И из списка выбираем цвет для элементов выше главной диагонали, вводим его индекс. Идем к следующему пункту. Спрашиваем у пользователя, хочет ли он продолжить работу программы:· Если да, то идем к следующему пункту. Ecли он ввел что-то другое, выводим «Ошибка введите (y/n… Читать ещё >
Графическое представление алгоритма программы в виде блок-схемы (реферат, курсовая, диплом, контрольная)
Функция input_matrix — Ввод матрицы с помощью генерации случайных чисел.
Функция main
Функция new_matrix — Матрица симметрично относительно главной диагонали алгоритм программа матрица.
Функция output_matrix — Вывод матрицы (без цвета).
Функция generation_color — Генератор цвета (для автоматического выбора цвета).
Функция selection_color — Выбор цвета для элементов матрицы ниже и выше главной диагонали.
Функция colour_matrix — Вывод цветной матрицы.
Функция recording — запись в файл.
Функция line — Выбор варианта вывода матрицы (цветная матрица или простая матрица).
Функция outline — Выбор варианта (продолжить выполнение программы или прекратить выполнение программы).
Словесный (пошаговый) алгоритм решения
В данной программе используются функции из библиотек.
- · iostream — для ввода и вывода данных на экран.
- · iomanip — для форматированного вывода данных
- · fstream — для записи данных в файл.
- · stdlib. h — для генерации случайных чисел.
- · time. h — для использования системного времени компьютера.
- · Windows. h — для изменения цвета текста файла.
Были разработаны 10 функций: main, input_matrix, new_matrix, output_matrix, generation_color, selection_color, colour_matrix, recording, line, outline. Все функции имеют тип void, кроме main который имеет тип int.
В функции colour_matrix был применен хэндл HANDLE hStdOut=GetStdHandle (STD_OUTPUT_HANDLE); он необходим чтобы извлечь дескриптор стандартного вывода данных (дескриптор — манипулятор ссылающийся на определенные объекты операционной системы или определенной программы, в нашем случае на консоль). И далее был применена стандартная функция SetConsoleTextAttribute чтобы задать атрибут для изменения цвета текста в консоли т. е SetConsoleTextAttribute (hStdOut, color|FOREGROUND_INTENSITY); где переменная color используется для того чтобы задавать цвет. Чтобы возвратить стандартный (белый цвет) консоли было просто задано SetConsoleTextAttribute (hStdOut, FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED);
Опишем пошаговый алгоритм действия программы:
- 1. Вводится размерность матрицы. Идем далее.
- 2. Объявляется двумерный динамический массив (матрица). Идем далее
- 3. Матрица заполняется случайными числами от 0 до 99. И идем к следующему пункту.
- 4. Матрица записывается в файл «запись.txt». Идем далее.
- 5. Через цикл for проверяем если j>i, то mx[i][j]=m[j][i] и идем далее.
- 6. Спрашиваем у пользователя, хочет ли он продолжить работу программы:
- · Если да, то идем к следующему пункту.
- · Если нет, выводим «действие программы прекращено» и идем к пункту 15.
- · Ecли он ввел что-то другое выводим «Ошибка введите (y/n) т. е (да или нет)» и заново возвращаемся к данному пункту
- 7. Спрашиваем у пользователя, хочет ли он сделать цветную матрицу.
- · Если да, то идем к следующему пункту.
- · Если нет, выводим преобразованную матрицу на экран и идем к пункту 14.
- · Ecли он ввел что-то другое, выводим «Ошибка введите (y/n) «и проверяем заново возвращаемся к данному пункту
- 8. Спрашиваем у пользователя, как он хочет выбрать цвета. Выбор состоит из двух вариантов 1: Автоматически. 2: Вручную.
- · Если пользователь введет 1, то программа автоматически выберет цвета для элементов выше и ниже главной диагонали и перейдет к пункту 12.
- · Если пользователь введет 2, то перейдем к следующему пункту.
- · Если пользователь введет другой символ, то выйдет сообщение об ошибке ввода и возвращаемся заново к данному пункту.
- 9. Выводим на экран список цветов и их индексов.
- 10. И из списка выбираем цвет для элементов выше главной диагонали, вводим его индекс. Идем к следующему пункту.
- 11. Вводим индекс цвета для элементов ниже главной диагонали. Проверяем, если выбран один и тот же цвет для элементов ниже и выше главной диагонали, то выйдет сообщение «Ошибка — заданные цвета должны быть разными «и заново идем к этому пункту.
Если пользователь ввел индекс > 12 сообщение об ошибке и возвращаемся к пункту 10.
- 12. Проверяя в цикле for условия i
- 13. Выводим на экран цветную преобразованную матрицу и идем к следующему пункту.
- 14. Матрица записывается в файл «запись.txt», и идем дальше.
- 15. Удаляем динамический массив, выводится сообщение об удачном удалении массива. Прекращается работа программы.