1

サッカーの試合で最小の観客数を見つける必要がある関数を作成しました。それは、メモリ内のランダムな場所を指しているように見え、理由を見つけることができないように見える team[10] を除くすべての値で機能します。ランダムに思えます。

Output:
FCN, 37.250000
SDR, 40.408000
FCM, 66.279000
VFF, 42.273000
OB, 65.967000
HOB, 22.352000
AGF, 75.126000
BIF, 124.341000
AAB, 66.410000
EFB, 53.708000
FCK, 128.433000 // This value changes randomly for each time i compile
RFC, 48.314000
Team: HOB, Spectators:22.352000


void solve_task_four(ROUND *round, TEAM *team) {
  int j = 0;
  int i = 0;
  int k = 0;

  for(i=0; i<33; i++) { 
    for(j=0; j<6; j++) {
      if(round[i].match[j].year == 2015) {
        for(k=0; k<12; k++) {
          if(strcmp(round[i].match[j].home_team,team[k].name)==0) {
            team[k].spectators_home_last_year += round[i].match[j].spectators;
          }
        }
      }
    }
  }

  for(k=0; k<12; k++) {
    printf("%s, %lf\n", team[k].name, team[k].spectators_home_last_year);
  }
}

ラウンドと呼ばれるマッチの構造体があります。各一致に関するデータが格納される構造体の一致。そして、私は構造体チームを持っています。チームの観客数と名前に関するデータを保存するチームの配列を作成しました。

編集:実際には半分の時間で正しい値を出力します。残りの半分は、たとえば次のように出力されます。

FCK, 11619132426987445786417210392049029283197879336796768202803907011075546173646479715331152202283963354268608554533948573765823213199739004181127023348833923632578496785562152249963391728687857881966870769941957750816768.000000

編集: 構造体:

typedef struct {
  char *name;
  int points, matches_played, 
      matches_won, matches_draw, matches_lost, 
      matches_won_home, matches_won_away,
      goals_for, goals_against, goal_difference;
  double spectators_home_last_year;
} TEAM;

構造体への入力 - チームの配列。(チーム数が12の場合)

TEAM team[NUMBER_OF_TEAMS];
4

0 に答える 0