С++ написати код
Завдання 1. Написати перевантажені функції (int, double, char) для виконання таких завдань:
Ініціалізація квадратної матриці;
Вивід матриці на екран;
• Визначення максимального й мінімального елемента на головній діагоналі матриці;
Ответы на вопрос
Приклад програми з перевантаженими функціями для типів int, double та char:
#include <iostream>
#include <vector>
using namespace std;
void init(vector<vector<int>>& a, int n) {
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) cin >> a[i][j];
}
void init(vector<vector<double>>& a, int n) {
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) cin >> a[i][j];
}
void init(vector<vector<char>>& a, int n) {
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) cin >> a[i][j];
}
template<typename T>
void print(const vector<vector<T>>& a) {
for (const auto& row : a) {
for (const auto& x : row) cout << x << " ";
cout << endl;
}
}
template<typename T>
void diagonalMinMax(const vector<vector<T>>& a) {
T mn = a[0][0], mx = a[0][0];
for (int i = 1; i < a.size(); i++) {
if (a[i][i] < mn) mn = a[i][i];
if (a[i][i] > mx) mx = a[i][i];
}
cout << "Min = " << mn << ", Max = " << mx << endl;
}
int main() {
int n;
cin >> n;
vector<vector<int>> a(n, vector<int>(n));
init(a, n);
print(a);
diagonalMinMax(a);
return 0;
}
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

