c語言指針實現矩陣的轉置


/*
寫一函數,將一個3x3的整型矩陣轉置,用指針實現
*/
#include <stdio.h>
#include <malloc.h>
#define SIZE 3

int main()
{
  int **a = (int **)malloc(sizeof(int *)*SIZE);//二維數組動態分配內存
  int i,j,t;
  for(i=0; i<SIZE; i++)
    *(a+i) = (int *)malloc(sizeof(int)*SIZE);//二維數組動態分配內存

  printf("請輸入矩陣的元素:");
  for(i=0; i<SIZE; i++)
  for(j=0; j<SIZE; j++)
  scanf("%d",*(a+i)+j);

  for(i=0; i<SIZE; i++)//對矩陣進行轉置
    for(j=i; j<SIZE; j++)
    {
      t = *(*(a+i)+j);
      *(*(a+i)+j) = *(*(a+j)+i);
      *(*(a+j)+i) = t;
    }

  printf("轉置之后為:");
  for(i=0; i<SIZE; i++)
    for(j=0; j<SIZE; j++)
      printf("%d ",*(*(a+i)+j));
  printf("\n");

  return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM