Тема: задано квадратну матрицю
Добрий день!!
хто що потрібно змінити або знає.
Задано квадратну матрицю, всі елементи якої рівні одиниці. Написати функцію void func (int** arr, int n), котра заповняє заштриховану область матриці (згідно варіанту) нулями. Розмір масиву вводиться з клавіатури.
#include <iostream>
#include <iomanip>
using namespace std;
// заполнение массива единицами
void fill_array_one( int**, size_t );
// заполнение массива по схеме
void fill_array_scheme( int**, size_t );
// печать массива
void print_array( int**, size_t );
int main() {
size_t dimm;
int **my_arr;
cout << "Введите размерность квадратной матрицы" << endl;
cin >> dimm;
my_arr = new int *[ dimm ];
for ( size_t i = 0; i < dimm; i++ )
my_arr[ i ] = new int[ dimm ];
cout << "Квадратная матрица заполнена единицами" << endl;
fill_array_one( my_arr, dimm );
print_array( my_arr, dimm );
cout << "Квадратная матрица заполнена по схеме" << endl;
fill_array_scheme( my_arr, dimm );
print_array( my_arr, dimm );
for ( size_t i = 0; i < dimm; i++ )
delete[] my_arr[ i ];
delete[] my_arr;
return 0;
}
void fill_array_one( int** arr, size_t n ){
for ( size_t i = 0; i < n; ++i )
for ( size_t j = 0; j < n; ++j )
arr[ i ][ j ] = 1;
}
void fill_array_scheme( int** arr, size_t n ){
for ( size_t i = 0; i < n; ++i )
for ( size_t j = 0; j < n; ++j )
if ( i >= j )
arr[ i ][ j ] = 0;
}
void print_array( int** array, size_t n ) {
for ( size_t i = 0; i < n; ++i ){
for ( size_t j = 0; j < n; ++j )
cout << setw(2) << array[ i ][ j ] ;
cout << endl;
}
}
Вона заповню з лівого верхнього кута до правого нижнього, а мені потрібно навпаки з правого верхнього до нижнього лівого