Составить блок схему для кодатна с++
Помогите, пожалуйста, составить блок схему для кода на с++:
#include <iostream>
#include <locale.h>
#include <cmath>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
int n,i,j,key;
int matrix[100][100];
cout << "Введите размерность матрицы (n x n): ";
cin >> n;
cout << "Введите 1 для генерирования массива из случайных чисел или 0 для ручного ввода."<<endl;
cin >> key;
if (key == 1){
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = rand() % 201-100;
}
}
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
}
else if (key == 0){
cout << "Введите элементы матрицы " << n << "x" << n << ":\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
}
double max = matrix[0][0];
double maxElement = matrix[0][0];
int maxCount = 0;
int maxCount1 = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] > maxElement) {
maxElement = matrix[i][j];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] == maxElement) {
maxCount++;
}
}
}
// Поиск максимума на главной диагонали
for (int i = 0; i < n; i++) {
if (matrix[i][i] > max) {
max = matrix[i][i];
}
}
for (int i = 0; i < n; i++) {
if (matrix[i][i] == max) {
maxCount1++;
}
}
// Проверка условий
if (max==maxElement && max > 2.5 && maxCount == 1 && maxCount1 == 1) {
// Разделение элементов на максимум
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j]!=max) {
matrix[i][j] /= max;
}
}
}
}
else {
cout<<"максимум лежит не на главной диагонали"<<endl;
exit(0);
}
// Вывод измененной матрицы
cout << "Измененная матрица:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
Условие задачи: Если единственный максимум в заданной матрице больше 2.5 и находится на главной диагонали, то все элементы такой матрицы разделить на этот максимум кроме его самого.
Вот
graph TD
A[Начало] --> B[Ввод размерности матрицы n]
B --> C{Выбор ввода: 1 - случайные числа, 0 - ручной ввод}
C -->|1| D[Генерация случайных чисел]
C -->|0| E[Ручной ввод элементов]
D --> F[Вывод сгенерированной матрицы]
E --> G[Поиск максимального элемента в матрице]
F --> G
G --> H[Подсчет количества максимальных элементов]
H --> I[Поиск максимума на главной диагонали]
I --> J[Подсчет количества максимумов на главной диагонали]
J --> K{max == maxElement и max > 2.5 и maxCount == 1 и maxCount1 == 1?}
K -->|Да| L[Деление элементов матрицы на максимум]
K -->|Нет| M[Вывод "максимум лежит не на главной диагонали"]
L --> N[Вывод измененной матрицы]
M --> O[Конец]
N --> O
слишком много букв больше 3 не первариваю