/
NeonBite
/
two-dim-sample
Обзор
Документация
Войти
/
NeonBite
/
two-dim-sample
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main.cpp
79 строк
2 KB
NeonBite
initial commit
20 ноя 2025, 09:59
20 ноя 2025, 09:59
8d7f9e5
Код
Авторство
О чём код?
#include <iostream> #include <string> #include <vector> #include <ctime> #include <fstream> using namespace std; int get_from_interval(int a, int b) { return rand() % (b - a + 1) + a; } void echo_matrix(int**& matrix, int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << matrix[i][j] << ' '; } cout << endl; } } int**& fill_matrix(int n, int a, int b) { int*** matrix_ptr = new int**; *matrix_ptr = new int*[n]; for(int i = 0; i < n; i++) { (*matrix_ptr)[i] = new int[n]; for (int j = 0; j < n; j++) { (*matrix_ptr)[i][j] = get_from_interval(a, b); } } return *matrix_ptr; } void clear_matrix(int**& matrix, int n) { for (int i = 0; i < n; i++) { delete[] matrix[i]; } delete[] matrix; matrix = nullptr; } void draw_green(int**& matrix, int n) { for (int i = 0; i < n / 2 + 1; i++) { for (int j = 0; j < ((i == n / 2) ? i - 1 : i); j++) { matrix[i][j] = 0; } } for (int i = n / 2 + 1; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { matrix[i][j] = 0; } } } int main() { srand(time(nullptr)); int n, a, b; cout << "Enter array size" << endl; cin >> n; cout << "Enter interval for values generation" << endl; cin >> a >> b; int**& matrix = fill_matrix(n, a, b); draw_green(matrix, n); echo_matrix(matrix, n); clear_matrix(matrix, n); return 0; }