Характеристикой столбца матрицы назовем произведение положительных элементов с четными номерами строк. Упорядочить столбцы матрицы по возрастанию их характеристик — C++(Си)

#include <stdio.h>
#include <conio.h>
#define H 5
#define W 5

using namespace std;

int main(){
int matrix[H][W] = {
    {9,8,7,6,5},
    {7,6,5,3,6},
    {1,1,1,1,1},
    {6,7,4,2,1},
    {9,2,3,4,5},
    };
 
int i,j,t,r,p,m[W];
 
 for ( i = 0 ; i < W ; i++ )m[i] = 1;
  
 for ( i = 0 ; i < W ; i++ )
   for( j = 0 ; j < H ; j++ )
       if(j%2==0&&matrix[j][i]>0)m[i]*=matrix[j][i];
 
 for( i = 0 ; i < W - 1 ; i++ )
  for( j = i + 1 ; j < W ; j++ )
         if(m[j]<m[i]){
          t = m[i];
          m[i] = m[j];
          m[j] = t;
          for( p = 0 ; p < H ; p++ ){
          r = matrix[p][i];
          matrix[p][i] = matrix[p][j];
          matrix[p][j] = r;
          }
   }
 
  for( i = 0 ; i < H ; i++ ){
  for( j = 0 ; j < W ; j++ )printf("%d ",matrix[i][j]);
  printf("\n");
  }
 
 
getch();
return 0;
}

Leave a Comment