Menu
Coddy logo textTech

配列のアルゴリズム

CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 59/63。

配列アルゴリズムは、配列データを操作するための不可欠な手法です。一般的な配列操作について学んでいきましょう。

配列内の最大値を見つける:

// 配列を初期化する
int numbers[] = {4, 9, 2, 7, 5};

// 最初の要素を最大値の初期値に設定する
int max = numbers[0];
// 他の要素と比較する
for (int i = 1; i < 5; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

// これで max には最大値 (9) が格納されます

最小値を見つける方法も同様です:

// 最初の要素を初期の最小値に設定する
int min = numbers[0];

// 他の要素と比較する
for (int i = 1; i < 5; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

// これで min には最小値 (2) が格納される

配列内のすべての要素の合計を求める:

int sum = 0;

// 各要素を合計に加算します
for (int i = 0; i < 5; i++) {
    sum += numbers[i];
}

// これでsumには合計(27)が含まれます
challenge icon

チャレンジ

簡単

整数配列内のすべての要素の平均を計算する findAverage という名前の関数を作成してください。

この関数は以下のことを行う必要があります:

  1. 整数配列とそのサイズをパラメータとして受け取る
  2. すべての要素の合計を計算する
  3. 合計を要素数で割り、平均を求める
  4. 平均を float 型として返す

平均を計算した後、次のコードを使用して結果を小数点以下ちょうど2桁で出力してください: printf("Average: %.2f\n", average);

チートシート

最大値、最小値、および合計値を求めるための一般的な配列アルゴリズム:

最大値を求める:

int max = numbers[0];
for (int i = 1; i < size; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

最小値を求める:

int min = numbers[0];
for (int i = 1; i < size; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

すべての要素を合計する:

int sum = 0;
for (int i = 0; i < size; i++) {
    sum += numbers[i];
}

浮動小数点数を小数点以下2桁で表示するには: printf("Average: %.2f\n", average);

自分で試してみよう

#include <stdio.h>

// ここに `findAverage` 関数を記述してください

int main() {
    int size;
    scanf("%d", &size);
    
    int numbers[size];
    
    // 配列の要素を読み取ります
    for (int i = 0; i < size; i++) {
        scanf("%d", &numbers[i]);
    }
    
    // 関数を呼び出して結果を表示します
    float average = findAverage(numbers, size);
    printf("Average: %.2f\n", average);
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン