1000個の整数が格納されているファイルを読み込み、最大値と最小値を表示したいのですが、コンパイルすると最大値と最小値の値がとても大きくなって表示されてしまいます。どうすれば良いでしょうか?
プログラミング初心者です。よろしくお願いします。
c言語を使っています。コンパイラーはcpad for borland c++を使用しています。
コード
#include<stdio.h> int main(){ int i,a[1000],max,min; FILE*fp; fp=fopen("data1.txt","r"); max=a[0]; min=a[0]; for (i=1;i<1000;i++){ if(max<a[i]){ max=a[i]; } if(min>a[i]){ min=a[i]; } } fclose(fp); printf("最大値=%d\n",max); printf("最小値=%d\n",min); return 0; }
お手数をおかけしますがよろしくお願いします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/12 12:33
回答3件
0
ファイルの中身を読み込んでいない。
fopen の使い方を調べた後で、ファイルの中身を”一行づつ”読み込む方法を調べてみてください。
max=a[0];
min=a[0];
この部分ですが、aの配列は宣言されているだけで、初期化されていない状態です。
aの配列に、ファイルの中身を読み込んで使う設定だと思うので、ファイルの読み込み部分を作成してください。
最大値と最小値の初期値は、int で想定される数値を入れておくのがベターだと思います。
max には、想定される最小値を代入して、min には、想定される最大値を代入しておけば、良いと思います。
これって、宿題や課題ですか?
投稿2021/04/12 12:39
総合スコア231
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/12 12:47
2021/04/12 12:56
2021/04/12 13:05
2021/04/12 13:09
2021/04/12 13:18
2021/04/12 13:20
2021/04/12 13:27
2021/04/12 13:41
2023/11/14 04:49 編集
2021/04/12 13:57
2021/04/12 13:57
2021/04/12 14:05
2021/04/12 14:06
2023/11/14 04:49 編集
2021/04/12 14:24
2023/10/25 05:45 編集
2021/04/12 15:15 編集
2023/10/25 05:45 編集
2021/04/12 15:23
2021/04/12 15:28
2021/04/12 15:30
2021/04/12 17:26
2021/04/12 17:31
2023/10/25 05:48 編集
2021/04/13 00:08
2021/04/13 00:24 編集
2021/04/13 00:44
2021/04/13 00:45
2023/10/25 05:46 編集
2021/04/13 01:12
2021/04/13 01:42
2021/04/13 01:47
2021/04/13 01:48
2021/04/13 01:57
2021/04/13 02:11
2021/04/13 02:26
2021/04/13 02:31
2021/04/13 02:40
0
自己解決
コード ```ここに言語を入力 ```ここに言語を入力 #include<stdio.h> int main(){ int i,j,MAX,MIN; FILE*fp; fp=fopen("data1.txt","r"); for(i=1;i<1000;i++){ fscanf(fp,"%d",&j); if(MAX<j){ MAX=j; } if(MIN>j){ MIN=j; } } fclose(fp); printf("最大値=%d\n",MAX); printf("最小値=%d\n",MIN); return 0; }
```お騒がせして申し訳ありませんでした。 皆様ありがとうございました。
投稿2021/04/13 03:42
編集2021/04/13 06:33総合スコア23
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/13 03:46
2021/04/13 06:34
2021/04/13 06:39
2021/04/13 06:43
2021/04/13 06:53
2021/04/13 07:07
2021/04/13 07:12
2021/04/13 07:35
2021/04/13 07:40
0
無事に解決することができました。
お騒がせして申し訳ありませんでした。
投稿2021/04/13 03:41
総合スコア23
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。