Menu
Coddy logo textTech

Dizi Algoritmaları

Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 59 / 63.

Dizi algoritmaları, dizi verilerini işlemek için temel tekniklerdir. Bazı yaygın dizi işlemlerini öğrenelim.

Bir dizideki en büyük değeri bulma:

// Bir diziyi ilklendir
int numbers[] = {4, 9, 2, 7, 5};

// Başlangıç maksimum değerini ilk elemana ayarla
int max = numbers[0];
// Diğer öğelerle karşılaştır
for (int i = 1; i < 5; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

// Şimdi max en büyük değeri (9) içeriyor

Minimum değeri bulmak benzer şekilde çalışır:

// Başlangıç min değerini ilk elemana ayarla
int min = numbers[0];

// Diğer elemanlarla karşılaştır
for (int i = 1; i < 5; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

// Şimdi min en küçük değeri (2) içeriyor

Bir dizideki tüm elemanları toplama:

int sum = 0;

// Her bir öğeyi toplama ekle
for (int i = 0; i < 5; i++) {
    sum += numbers[i];
}

// Şimdi sum toplamı (27) içeriyor
challenge icon

Görev

Kolay

Bir tam sayı dizisindeki tüm elemanların ortalamasını hesaplayan findAverage adında bir fonksiyon yazın.

Fonksiyon şunları yapmalıdır:

  1. Parametre olarak bir tam sayı dizisi ve boyutunu almalı
  2. Tüm elemanların toplamını hesaplamalı
  3. Ortalamayı bulmak için toplamı eleman sayısına bölmeli
  4. Ortalamayı bir float olarak döndürmeli

Ortalamayı hesapladıktan sonra, sonucu tam olarak 2 ondalık basamakla şu şekilde yazdırın: printf("Average: %.2f\n", average);

Kopya kağıdı

Maksimum, minimum ve toplam değerleri bulmak için yaygın dizi algoritmaları:

Maksimum değeri bulma:

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

Minimum değeri bulma:

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

Tüm öğeleri toplama:

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

Bir float değerini 2 ondalık basamakla yazdırmak için: printf("Average: %.2f\n", average);

Kendin dene

#include <stdio.h>

// findAverage fonksiyonunuzu buraya yazın

int main() {
    int size;
    scanf("%d", &size);
    
    int numbers[size];
    
    // Dizi elemanlarını oku
    for (int i = 0; i < size; i++) {
        scanf("%d", &numbers[i]);
    }
    
    // Fonksiyonunuzu çağırın ve sonucu yazdırın
    float average = findAverage(numbers, size);
    printf("Average: %.2f\n", average);
    
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler