27th
Май

Минимальное число выше главной диагонали матрицы?

Posted by Chas under Пост-обзор

Определить минимальное число Z из элементов действительной матрицы, i, j = 1, …, 5, расположенные выше главной диагонали, среди строк, которые начинаются с отрицательного элемента.

Сtrl:

#include 
#include
#include

const int M = 5, N = 5;

void mtrx_rand(float[M][N]);
void mtrx_prnt(float[M][N]);
float mtrx_find1(float[M][N]);

int main()
{
srand(time(0));
float matrix[M][N];
mtrx_rand(matrix);
mtrx_prnt(matrix);
printf("found %6.2f", mtrx_find1(matrix));
getchar();
return 0;
}

void mtrx_rand(float matrix[M][N])
{
for (int i = 0; i < M; i ++)
for (int j = 0; j < N; j ++)
matrix[j] = (rand() / 100.) - (rand() / 100.);
return;
}

void mtrx_prnt(float matrix[M][N])
{
for (int i = 0; i < M; i ++)
for (int j = 0; j < N; j ++)
{
printf("%6.2f", matrix[j]);
printf("%c", (j == N-1) ? '\n' : '\t');
}
return;
}

float mtrx_find1(float matrix[M][N])
{
float min;
bool first_found = false;
for (int i = 0; i < M; i ++)
for (int j = 0; j < N; j ++)
{
if (i < j) // выше главной диагонали
if (matrix[0] < 0) // строка начинается с отрицательного элемента
{
if (first_found)
min = (matrix[j] < min) ? matrix[j] : min;
else
{
first_found = true;
min = matrix[j];
}
}
}
return min;
}

тема на форуме

Похожие статьи

Теги: |