Soru sorKullanıcıdan alınan veriden en büyük olan değeri bulmak
vyslln tarafından 5 yıl önce soruldu

Aşağıda kullanıcıdan yıllık yağış miktarını (örneğin, yagis_yillik = [0.5 0.3 0.3 0.4 0.7 0.2 0.6 0.3 0.2 0.1 0.1 0.2]) ve mevsim adını (‘Yaz’, ‘Kış’, ‘Sonbahar’ ve ‘İlkbahar’ şeklinde) alan ve o mevsimdeki en fazla yağışın olduğu ayı kullanıcıya söyleyen bir fonksiyonun başlangıcı verilmiştir. Lütfen programı tamamlayınız. function yagis_maks(yagis_yillik,mevsim) aylar_yillik = ['Ocak' 'Şubat' 'Mart' 'Nisan' 'Mayıs' 'Haziran' … 'Temmuz' 'Ağustos' 'Eylül' 'Ekim' 'Kasım' 'Aralık']; beyler hatamı bulup düzeltebilirmisiniz ?

 

function maks_mevsimlik_yagis = yagis_maks(yagis_yillik, mevsim) if(length(yagis_yillik) ~= 12)
error("Geçersiz yağış miktarı %d. 12 tane olmali", length(yagis_yillik));
end
switch(mevsim)
case "İlkbahar"
mevsim_i = [3, 4, 5];
case "Yaz"
mevsim_i = [6, 7, 8];
case "Sonbahar"
mevsim_i = [9, 10, 11];
case "Kış"
mevsim_i = [12, 1, 2];
otherwise
error("Geçersiz Mevsim %s", mevsim);
end maks_mevsimlik_yagis = max(yagis_yillik(mevsim_i));
fprintf(" %s mevsiminin en yüsek yağışı %.2f\n", mevsim, maks_mevsimlik_yagis);

end
1 Cevap
Caglar Yönetici tarafından 5 yıl önce cevaplandı

Yazdığınız kodda hata yok gibi, en yüksek yağış değeri yerine hangi aya ait olduğunu çıkartmak istiyorsanız, max'ın ikici çıktısı indisi verir, yani sizin durumunuzda mevsimin içindeki ay numarasını:

[maks_mevsimlik_yagis, maks_ay] = max(yagis_yillik(mevsim_i));
fprintf(" %s mevsiminin en yüsek yağışı %.2f\n . Ay: %g", mevsim, maks_mevsimlik_yagis, mevsim_i(maks_ay));