close

#include <stdio.h>
#include <stdlib.h>
#define row    5
#define column 6
/*
    void AiCopy(int A[row][column], int B[row][column], int m,int n) ;       //將A的內容反向複製到B
  若 A = 1  2  3  4
         5  6  7  8
         9 10 11 12
  則 B = 12 11 10  9  
          8  7  6  5
          4  3  2  1 
*/


 void ACopy(int A[row][column], int B[row][column], int m,int n){
     for(int i=0;i<m;i++) {
       for(int j=0;j<n;j++) {
          B[i][j]    = A[i][j];     
       }
   }
 }

int GiveValue(int A[row][column], int m, int n)
{    
    for(int i=0;i<m;i++) 
       for(int j=0;j<n;j++) A[i][j]=rand()%100;
    return 1;

int PrintValue(int A[row][column], int m, int n)
{
    for(int i=0;i<m;i++) {
         for(int j=0;j<n;j++) {
              printf("%3d ",A[i][j]);   
         }
         printf("\n",i,A[i]);
    }
       

    return 1;


int Row(int R1[],int R2[],int n)
{
    for(int r=0;r<n;r++) R2[r]=R1[n-1-r];
}

void AiCopy1(int A[row][column], int B[row][column], int m,int n){
     for(int i=0;i<m;i++) Row(A[i],B[m-1-i],m);
}

void AiCopy2(int A[row][column], int B[row][column], int m,int n){
     for(int i=0;i<m;i++) 
       for(int j=0;j<n;j++)
         B[i][j]=A[m-1-i][n-1-j];
}

int main(){
    int A[row][column],B[row][column];
    printf("Initial array: \n");
    GiveValue(A,row,column);  PrintValue(A,row,column); printf("\n\n");
    
    printf("reversed array:1 \n");
    AiCopy1(A,B,row,column); PrintValue(A,row,column);  printf("\n\n");
    printf("reversed array:2 \n");
    AiCopy2(A,B,row,column); PrintValue(B,row,column);  printf("\n\n");
    system("pause");
    return 1;
}
 

arrow
arrow
    文章標籤
    資料結構#將2維陣列#反轉
    全站熱搜

    tatar 發表在 痞客邦 留言(0) 人氣()