私のプログラムを理解し、完成させるためにあなたの助けを求めたいです。
これは私がしなければならないことです:
「プログラムを実行する必要があります
。最初に、吸収する 2 次元の整数 arr [M] [N]。M - 行数 N - 列数。(行列サイズはユーザーから受け取りました)
2 つ。プログラムは補助関数を使用します。 「シフト」は、図に示すように、行列の値を右に 1 桁移動します (1 の代わりに 2、2 の代わりに 3、3 の代わりに 4、... 19 の代わりに 20、最初の 20 の代わりに入力) ).
Shift は関数を作成し、サンプル マトリックス ループで 3 回呼び出す必要があります.."
私の問題は次のとおりです。
- ユーザーがサイズを入力した2次元整数配列の行列を作成する方法がわかりません。行と列の DEFINE SIZE によってのみ知っています
- 私の役職は実際の仕事にはほど遠いので、役職を終えるのに助けが必要です。
私の出力:
私のコード:
#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");
}
}
編集:写真のリサイズ