我想得到你的帮助来理解和完成我的程序。
这是我必须做的:
“您必须执行以下程序:
首先。一个吸收二维整数 arr [M] [N]。M - 行数 N - 列数。(从用户那里收到矩阵大小)
二。程序使用辅助函数“shift”将矩阵的值右移一位,如图(输入2代替1,输入3代替2,输入4代替3,... 20代替19,第1位20 ).
Shift 必须编写一个函数并在示例矩阵循环中调用她 3 次.."
我的问题是:
- 我不知道如何处理用户输入的矩阵二维整数数组。我只知道行的定义大小和列
- 我的功能并不接近真正的交易,所以我想得到帮助来完成我的功能。
我的输出:
我的代码:
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define M 4
#define N 5
void shift (int arr[M][N], int length);
void main()
{
int arr[M][N];
int i,j,length;
printf("Enter %d rows \n",M);
for (i=0 ; i<M ; i++ )
{
printf("Enter %d numbers:\n",N);
for(j=0 ; j<N ; j++ )
{
scanf("%d" , &arr[i][j] );
}
length=N+M;
}
shift (arr,length);
system("pause");
return ;
}
void shift (int arr[M][N], int length)
{
int i,j,temp;
temp=arr[0][0];
for(i=0; i<M; i++)
{
for(j=0; j<N-1 ; j++)
{
printf("%d ",arr[i][j]);
}
arr[i][j]=temp;
printf("\n");
}
}
编辑:调整图片大小