#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;
}
留言列表