C言語/二次元配列と使い方
1476 ワード
マトリクスのように配列処理を行う2次元配列.
[]を2回使用し、縦寸法を1回目、横寸法を2回目に指定します.△縦×横であることを忘れないでください.
1
12
1 D配列のように、2 D配列は内側の値をすべてゼロにリセットすることもできます.
int numArr[3][4] = {0, };
https://www.acmicpc.net/problem/2775
これは2次元配列を用いた問題である.
0楼有1名2名3名...こうして値段を入れて、
残りの状況は問題の上で要求に従って体現される.
最後に、While(num-)とscanf部分は、実はコードを初めて書くときにコード全体を囲んでいるので、配列に値を付けた部分を2回繰り返すべきですが、よく考えてみると、この必要はないので、そのまま全体を後退させました.値を保存したら、そこから重複文とscanfで入力した値を取り戻すだけです.
[]を2回使用し、縦寸法を1回目、横寸法を2回目に指定します.△縦×横であることを忘れないでください.
int numArr[3][4] = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
printf("%d\n", numArr[0][0]);
printf("%d\n", numArr[2][3]);
結果1
12
1 D配列のように、2 D配列は内側の値をすべてゼロにリセットすることもできます.
int numArr[3][4] = {0, };
https://www.acmicpc.net/problem/2775
これは2次元配列を用いた問題である.
#include <stdio.h>
int main(void){
int arr[15][15]={0, }, num=0, i,j,count=0,sum=0,floor=0,room=0;
for(i=0; i<15; i++){
for(j=0; j<15; j++){
if(i==0){arr[i][j]+=++count;}
else{
sum+=arr[i-1][j];
arr[i][j]=sum;
}
}
sum=0;
}
scanf("%d",&num);
while(num--){
scanf("%d %d",&floor,&room);
printf("%d\n",arr[floor][room-1]);
}
return 0;
}
問題の条件に従って、列の大きさは15を超えず、残りは絵を描く考えで繰り返し書きます.0楼有1名2名3名...こうして値段を入れて、
残りの状況は問題の上で要求に従って体現される.
最後に、While(num-)とscanf部分は、実はコードを初めて書くときにコード全体を囲んでいるので、配列に値を付けた部分を2回繰り返すべきですが、よく考えてみると、この必要はないので、そのまま全体を後退させました.値を保存したら、そこから重複文とscanfで入力した値を取り戻すだけです.
Reference
この問題について(C言語/二次元配列と使い方), 我々は、より多くの情報をここで見つけました https://velog.io/@astar5327/C언어-2차원-배열과-활용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol