Определить:
Характеристикой столбца целочисленной матрицы назовем сумму его отрицательных
нечетных элементов. Переставляя столбцы заданной матрицы расположить их в соответствии с
ростом характеристик.
Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент
Код программы:
#include <iostream>
using namespace std;
void main(){
int a[8][8] = { { 1, 2, 3, 4, 5, 6, },
{ -2, -2, 2, 0, 0, -6 },
{ -9, 2, 1, 2, 0, 9, },
{ -4, 0, 2, 3, 1, 5, },
{ 5, 2, 3, 1, 5, 9, },
{ 6, 2, 3, 5, -3, 6, }};
cout << "Наша матрица_\n ";
for (int i = 0; i < 6; i++)
{ cout << "\n";
for (int j = 0; j < 6; j++)
{cout << a[i][j] << "\t ";
}
}
Характеристикой столбца целочисленной матрици назовём сумму модулей его отрицательных нечётных элементов
cout << "\n";
int sum = 0;
int b[10];
for (int i = 0; i < 6; i++)
{ sum = 0;
for (int j = 0; j < 6; j++)
{ if (a[j][i]<0)
{sum = sum + a[j][i]; }
if (j == 5)
{b[i] = sum;}
}
}
cout << "\n= ";
for (int i = 0; i < 6; i++)
{cout << b[i] << " \t"; }
cout << "\n ";
int c[10];
int p = 0;
for (int i = 0; i < 6; i++)
{for (int j = 0; j < 5; j++)
{if (abs(b[j])> abs(b[j + 1]))
{p = b[j];
b[j] = b[j + 1];
b[j + 1] = p;
for (int x = 0; x < 6; x++)
{c[x] = 0;}
for (int x = 0; x < 6; x++)
{c[x] = a[x][j];}
for (int x = 0; x < 6; x++)
{a[x][j] = a[x][j+1];}
for (int x = 0; x < 6; x++)
{a[x][j+1] = c[x];}
}
}
}
for (int i = 0; i < 6; i++)
{cout << "\n";
for (int j = 0; j < 6; j++)
{cout << a[i][j] << "\t";}
}
cout << "\n\n= ";
for (int i = 0; i < 6; i++)
{cout << b[i] << " \t"; }