Viết chương trình thực hiện các công việc: Tạo ngẫu nhiên ma trận vuông A bậc n (n > 0 và được nhập từ bàn phím), giá trị của các phần tử nằm trong khoảng [-100,100]. Xuất ma trận vừa nhập ra màn hình. Hoán chuyển phần tử lớn nhất nằm trên mỗi dòng với phần tử nằm trên đường chéo chính cùng dòng đó. Xuất ra màn hình các phần tử nằm trên đường chéo phụ.

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include<conio.h>
int main()
{
   int i,n,j;float a[100][100];int max;
    do
 {
 printf("\tNhap vao so cap ma tran (0<n>100) : ");
 scanf("%d",&n);
 }
  while(n<0||n>100);
   
  srand((unsigned)time(NULL));
    for(int i=0; i<n; i++)
      for(int j=0; j<n; j++)
   a[i][j]=rand()%100;
    
       printf("\n\t Ma tran ngau nhien  \n ");
    
       for(i=0;i<n;i++)
       {
        for(j=0; j<n; j++)
           printf("\t %.0f",a[i][j]); 
           printf("\n");
       }
 
 //hoan doi phan tu lon nhat trong dong voi duong cheo chinh     
     int L;
 for(i=0;i<=n;i++)
 {
  max=a[i][1];L=1;
  for(j=0;j<=n;j++)
  if(max<a[i][j])
  {
   max=a[i][j];
   L=j;
  }
  a[i][L]=a[i][i];
  a[i][i]=max;
 }
 
   printf("\n\t Ma tran sau sap xep  \n ");
    
     for(int i=0;i<n;i++)
       {
        for(int j=0; j<n; j++)
           printf("\t %.0f",a[i][j]); 
           printf("\n");
       }
      
 //  cac phan tu duong cheo phu   
      for(int i= 0; i <= n; i++)
      printf("\n\tcac phan tu duong cheo phu %.0f",a[i][n-1-i]);
 
 getch();
}
Mới hơn Cũ hơn