サッカーでTeam-0からTeam-4までの5チームがリーグ戦(総当たり戦)
を行ったとき,各チームが対戦相手から取った点を
int goal[5][5] = {{0,3,4,0,2},{3,0,2,1,1},{2,0,0,3,1},{4,6,2,0,2},{1,1,2,4,0}};
のような二次元配列(goal[][])に格納する.
各試合結果を一例のように表示するプログラムを作成する.
という課題に対して、for文を用いてプログラムを作成したいのですが、以下のようなプログラムしか作れず困っております。
出力結果は下記のようになります。
Team-0 vs Team-0 : 0 - 3(一例)
エラーメッセージ
aplle.c:6:2: error: variable-sized object may not be initialized
int goal[a][b]= {{0,3,4,0,2},{3,0,2,1,1},{2,0,0,3,1},
^~~
aplle.c:6:20: warning: excess elements in array initializer
int goal[a][b]= {{0,3,4,0,2},{3,0,2,1,1},{2,0,0,3,1},
^
ソースコード
#include <stdio.h>
int main(void)
{
int a=5, b=5;
int goal[a][b]= {{0,3,4,0,2},{3,0,2,1,1},{2,0,0,3,1},
{4,6,2,0,2},{1,1,2,4,0}};
int i, j, k;
for(i=0; i<5; i++){
for(j=0; j<5; j++){
if(a != b){
for(k=0; k<5; k++){
pritnf("Team-%d vs Team-%d", a, b);
a+=b;
}
}else if(goal[a]!=goal[b]){
printf(" : %d - %d", goal[a][b], goal[a][b]);
}else{
printf("\n");
}
}
}
return 0;
}
試したこと
for文を用いてるので2重にしてTeam-%d vs Team-%dと : %d - %dを区切って、if文で条件を提示したりしましたが、そもそもやり方があってるのかわかりません。
またポインタを用いて別のところで確定させた点数の順番をmain関数にもどして出力させる方法もあるかと思って模索しましたがわかりませんでした。
何卒お答えいただければ幸いです。
補足情報(FW/ツールのバージョンなど)
Geanyで作成
ここにより詳細な情報を記載してください。
回答2件