@Razmatazz

Как сформировать вектор из элементов главной и побочной диагоналей которые одновременно больше 2?

Задача: Поменять местами только те элементы главной и побочной диагоналей массива, которые являются одновременно большими двух и сформировать из них вектор. Язык Си.

Написал такое:
#include <stdio.h>
#include <math.h>
#define N 5
int main()
    {int a[N][N]={{9,-2,0,3,4}, 
                {11,-3,4,5,-6},
                {-1,4,-4,8,-7}, 
                {3,1,4,-25, 16},
                {7,-13,0,51,61}};
     int  i, j, z,  p=0, n=0, v[N], k[N];
 
     for(i=0; i<N; i++)
         for(j=0; j<N; j++){
             if(i==j) {
                 v[p]=a[i][j];  p++;}
             
             if(i+j==N-1){
                 k[n]=a[i][j];  n++;
                }
         }

         for(i=0; i<N; i++){
             if (v[i]>2||k[i]>2){
                 z=v[i];
                 v[i]=k[i];
                 k[i]=z;

             }
         }
             
         for(i=0; i<N; i++) printf("   %d",v[i]);
         printf("\n");
         for(i=0; i<N; i++)  printf("   %d",k[i]);
         
      return 0;
    }


Как ещё и сформировать один вектор из тех значений которые одновременно больше 2? И вывести матрицу с уже измененными диагоналями?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы