Ответы на вопрос:
#include < iostream>
#include < ctime>
using namespace std;
int** get_matrix(int rows,int columns) //создание матрицы
{
int** matrix = new int*[rows];
for(int i = 0; i< 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; i< rows; i++)
{
for(int j = 0; j< 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; i< rows; i++)
{
for(int j = 0; j< columns; j++)
{
if(i == j & & matrix[i][j] > 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; i< rows; i++)
{
for(int j = 0; j< columns; j++)
{
if(i == j & & matrix[i][j] > 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; i< rows; i++)
{
for(int j = 0; j< columns; j++)
{
cout < < matrix[i][j] < < "\t";
}
cout< < 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; i< count_of_positive_numbers; i++)
{
cout < < positive_numbers[i] < < "\t";
}
//очищение памяти
for(int i = 0; i< rows; i++)
{
delete[]matrix[i];
}
delete[]matrix;
delete[]positive_numbers;
return 0;
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
KiskaSofia30.04.2022 05:24
-
hard2614.05.2023 20:42
-
Polly297021.12.2021 01:51
-
Annkeklol11.04.2020 12:58
-
arzuaes21.01.2021 17:25
-
Фёкла1108.11.2021 06:10
-
danikvorona09.10.2021 10:55
-
vikabelaua11423.04.2021 05:42
-
afanasevaboom12301.05.2020 01:09
-
kisakz1229.08.2021 23:15
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.