2014-03-04 29 views
0

如何根据使用输入交换2D int数组中的元素?例如我有元件根据用户输入使用printf和scanf交换2D int数组元素

int c[2][2]= 
{ 
    {1,2, }, 
    {3,4, } 
}; 

用户输入哪个区域的2×2矩阵交换,如:C [0] [0]和C [0] [1]然后显示新的结果。由于

#include <stdio.h> 
#include <stdlib.h> 

void swap(int c[2][2],int &x1,int &y1,int &x2,int &y2) 
{ 
    int temp = c[x1][y1]; 
    c[x1][y1] = c[x2][y2]; 
    c[x2][y2] = temp; 
} 
int main(void) 
{ 
    int c[2][2]= 
    { 
     {1,2, }, 
     {3,4, } 
     }; 
    int x,y; 
    int x1,x2,x3,x4,x5,y1,y2,y3,y4,y5; 
    for(x=0;x<2;x++) 
    { 
    for(y=0;y<2;y++) 
    { 
    printf("\t%d",c[x][y]); 
    } 
    printf("\n"); 
    } 

    printf("\nEnter 1st value to be swapped:\n"); 
    printf("Row\n"); 
    scanf("%d",&x3); 
    printf("Column\n"); 
    scanf("%d",&y3); 
    printf("\nEnter 2nd value to be swapped:\n"); 
    printf("Row\n"); 
    scanf("%d",&x4); 
    printf("Column\n"); 
    scanf("%d",&y4); 
    if((x3==1&&y3==1)&&(x4==1&&y4==2)) 
    { 
    swap(c[0][0],c[0][1]); 
    } 
    for(x=0;x<2;x++) 
    { 
    for(y=0;y<2;y++) 
    { 
    printf("\t%d",c[x][y]); 
    } 
    printf("\n"); 
    } 

    system("pause"); 
    return ; 
} 
+1

欢迎来到Stack Overflow。这是一个简单的程序,但起初你应该写自己的代码,然后问我们你的问题,我们不会做你的家庭作品entirly –

回答

0

看起来你只是想这样做:

swap(c[x3-1][y3-1],c[x4-1][y4-1]); 

但你这样做之前,你需要消毒的变量,以确保他们的阵列的范围内。