Дана матрица X(m,m). Уяснить в массиве Z положительные элементы основной диагонали

Дана матрица X(m,m). Уяснить в массиве Z положительные элементы основной диагонали написать программку на c++

Задать свой вопрос
1 ответ

include lt;iostreamgt;

include lt;ctimegt;


using namespace std;


int** get_matrix(int rows,int columns) //Творение матрицы

int** matrix = new int*[rows];

for(int i = 0;ilt;rows;i++)

matrix[i] = new int[columns];

return matrix;

void fill_matrix(int** matrix, int rows,int columns, int min = -100, int max = 200)//Наполнение матрицы случайными значениями в данном спектре

srand(time(NULL));

for(int i = 0;ilt;rows;i++)

for(int j = 0;jlt;columns;j++)

matrix[i][j] = rand() % max + min;


int get_count_of_positive_numbers(int** matrix, int rows, int columns)

int count = 0;

for(int i = 0;ilt;rows;i++)

for(int j = 0;jlt;columns;j++)

if(i == j amp;amp; matrix[i][j] gt; 0)

count++;

return count;


int *get_array_of_positive_numbers(int** matrix, int rows,int columns,int count)

int *array = new int[count];

int x = 0;

for(int i = 0;ilt;rows;i++)

for(int j = 0;jlt;columns;j++)

if(i == j amp;amp; matrix[i][j] gt; 0)

array[x++] = matrix[i][j];

return array;


int main(int argc, char** argv)

int rows = 5;

int columns = 5;

int** matrix = get_matrix(rows,columns);//Создаем матрицу

fill_matrix(matrix,rows,columns);//Наполняем ее случайными значениями

for(int i = 0;ilt;rows;i++)

for(int j = 0;jlt;columns;j++)

cout lt;lt; matrix[i][j] lt;lt; "\t";

coutlt;lt;endl;

int count_of_positive_numbers = get_count_of_positive_numbers(matrix,rows,columns); //Получаем количество положительных частей в основной диагонали

int* positive_numbers = get_array_of_positive_numbers(matrix,rows,columns,count_of_positive_numbers);//Получаем массив с этими элементами

for(int i = 0;ilt;count_of_positive_numbers;i++)

cout lt;lt; positive_numbers[i] lt;lt;"\t";

//Очищение памяти

for(int i = 0;ilt;rows;i++)

delete[]matrix[i];

delete[]matrix;

delete[]positive_numbers;

return 0;


, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт