-3

List、ArraySort、Classes、Structs、Objects、LINQ などを使用せずに、調査から取得した年齢のリストをグループ化して、配列内の各要素が 1 人の年齢を表すようにするにはどうすればよいでしょうか。

次に、各年齢の人数を数え、それらの人々を 0 ~ 18、18 ~ 30、31 ~ 45、46 ~ 64、および 65 歳以上の 5 つの年齢グループにグループ化する方法を用意します。18 歳から 30 歳くらいの人が 8 人いるとしましょう。

私はこれを行う2つの方法を組み合わせることでこれを解決したと思いました.1つ目はデータを含む配列ごとにカウント配列をインクリメントし、もう1つはwhileループでデータをグループ化することですが、年齢自体を表示しているようです.

4

1 に答える 1

1

初期化中

int[] input = new int[] { 5, 10, 20, 35, 50, 68 };
int[,] ageGroups = new int[5, input.Length];
int[] ageCounters = new int[5];

グループ化

foreach(int age in input)
{
    if(age >= 0 && age < 18)
    {
        ageGroups[0, ageCounters[0]] = age;
        ageCounters[0]++;
    }
    else if(age >= 18 && age <= 30)
    {
        ageGroups[1, ageCounters[1]] = age;
        ageCounters[1]++;
    }
    else if(age >= 31 && age <= 45)
    {
        ageGroups[2, ageCounters[2]] = age;
        ageCounters[2]++;
    }
    else if(age >= 46 && age <= 64)
    {
        ageGroups[3, ageCounters[3]] = age;
        ageCounters[3]++;
    }
    else if(age >= 65)
    {
        ageGroups[4, ageCounters[4]] = age;
        ageCounters[4]++;
    }
}

表示中

for(int i = 0; i < 5; i++)
{
    for(int j = 0; j < ageCounters[i]; j++)
    {
        Console.Write(ageGroups[i, j] + " ");
    }
    Console.WriteLine();
}
于 2013-04-08T11:33:22.590 に答える