Dizi Algoritmaları
Coddy'nin C Journey'sinin Temeller bölümünün bir parçası. Ders 59 / 63.
Dizi algoritmaları, dizi verilerini işlemek için gerekli tekniklerdir. Yaygın dizi işlemlerini öğrenelim.
Bir dizideki en büyük değeri bulma:
// Bir diziyi başlat
int numbers[] = {4, 9, 2, 7, 5};
// max başlangıç değerini ilk elemana ayarla
int max = numbers[0];// Diğer elemanlarla karşılaştır
for (int i = 1; i < 5; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
// Artık max en büyük değeri (9) içeriyorEn küçük değeri bulma da benzer şekilde çalışır:
// Başlangıçtaki 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];
}
}
// Artık min en küçük değeri (2) içeriyorBir dizideki tüm elemanları toplama:
int sum = 0;
// Her öğeyi sum değişkenine ekle
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
// Artık sum toplamı (27) içeriyorGörev
KolayTamsayı dizisindeki tüm öğelerin ortalamasını hesaplayan findAverage adlı bir fonksiyon yaz.
Fonksiyon şunları yapmalıdır:
- Parametre olarak bir tamsayı dizisi ve dizinin boyutunu al
- Tüm öğelerin toplamını hesapla
- Ortalamayı bulmak için toplamı öğe sayısına böl
- Ortalamayı float olarak döndür
Ortalamayı hesapladıktan sonra sonucu tam olarak 2 ondalık basamakla şu ifadeyi kullanarak yazdır: 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ı okuyun
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;
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
2Değişkenler
Veri TürleriTamsayıFloat - DoubleKarakterlerBoolean DeğerleriSabitlerprintf TemelleriDeğişken Adlandırma KurallarıTür Dönüştürme 1. BölümTür Dönüştürme 2. BölümTekrar Görevi3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama OperatörleriKarşılaştırma OperatörleriMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümMantıksal Operatörler 3. BölümTekrar MücadelesiKendi başına pratik yap: Online C derleyicisi