Top.Mail.Ru
Ответы

Составить блок схему для кодатна с++

Помогите, пожалуйста, составить блок схему для кода на с++:
#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 и находится на главной диагонали, то все элементы такой матрицы разделить на этот максимум кроме его самого.

По дате
По рейтингу
Аватар пользователя
Новичок
7мес

Вот

1234567891011121314151617
 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 
Аватар пользователя
Ученик
7мес

слишком много букв больше 3 не первариваю