私のクラスのこの宿題は、2D配列に30値をハードコードするよう求められています(4週間、温度が記録された7日間毎日)。次に、私のプログラムが最大値を見つけて印刷するようにして、その日には&が記録されています。しかし3つの別々の日に3つの最大値があります。私は3つすべてのケースを印刷しなければならないと仮定します。stdio.hを使用してCの2D配列から複数の最大値を記録する方法
私はまだ初心者ですが、これまでにこのような問題は発生していません。私はそれを下に記載されて3の1つの最大値を印刷するためのコードを書いた:
#include <stdio.h>
#define y 4
#define x 7
int main()
{
int max = 0, week, i, j, day;
int table[y][x] = {
{32,31,30,31,32,33,32},
{33,32,34,35,34,36,36},
{34,34,36,36,37,38,38},
{38,37,36,35,34,33,32}};
for (i = 0; i < y; i++)
{
for (j = 0; j < x; j++)
{
if (max <= table[i][j])
{
max = table[i][j];
day = j + 1;
week = i + 1;
}
}
}
switch (day)
{
{ case 1: printf("The highest temperature %d was recorded on Monday of week %d\n", max, week); break; }
{ case 2: printf("The highest temperature %d was recorded on Tuesday of week %d\n", max, week); break; }
{ case 3: printf("The highest temperature %d was recorded on Wednesday of week %d\n", max, week); break; }
{ case 4: printf("The highest temperature %d was recorded on Thursday of week %d\n", max, week); break; }
{ case 5: printf("The highest temperature %d was recorded on Friday of week %d\n", max, week); break; }
{ case 6: printf("The highest temperature %d was recorded on Saturday of week %d\n", max, week); break; }
{ case 7: printf("The highest temperature %d was recorded on Sunday of week %d\n", max, week); break; }
}
return 0;
}
は君たちが私が邪魔にこのコードを書くために助けることができる最大値のx個のすべてのケースがある場合x値は日と週で表示されます。また、クラス内のすべての図書館をカバーしていないためです。彼らは私がstdio.hを使ってプログラムを書くことだけを期待しています。
お読みいただきありがとうございます。また、あなたの返信を事前に感謝します。
PS:私がまだコーディングの他の面をカバーしていないので、<stdio.h>
、配列、ポインタ、ループを使用して解決策を提案できるかどうか本当にありがとうと思います。
:ここ
は修正版です。値が最大値に等しい場合は、各要素で、日、週、および最大値をループ内に表示します。 –