• 13-04-2015, 20:05:02
    #1
    for(i=0; i<n; i++){

    scanf("%d",&array[i]);



    int sayac=0;
    while(array[i]>max){
    max=array[i];
    sayac++;

    }

    printf("%d",sayac);
    }

    yazdırdığımda var olan değeri yazdırıyor fakat bir türlü toplamıyor.Yani max=0 dan başlatıyorum zaten 1 girdi mi 1 yazıyor 2 girince 1 işleyiş istediğim gibi fakat toplamını alamıyorum bir türlü.

    1 3 4 5 girildiğinde 4 vermesi gerekirken 1 1 1 1 veriyor.Bu nasıl aşılır?
  • 13-04-2015, 22:01:26
    #2
    bir şey anlamadım dediğinden ama ortada bir toplam kodun yok..
    eğer max da toplatacaksan

    max +=array[i];

    gibi yapman lazım ki toplasın, diğer her durumda max en son değerde eşitleniyor
  • 13-04-2015, 22:33:19
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    bir şey anlamadım dediğinden ama ortada bir toplam kodun yok..
    eğer max da toplatacaksan

    max +=array[i];

    gibi yapman lazım ki toplasın, diğer her durumda max en son değerde eşitleniyor
    Şöyle söyleyeyim kullanıcıdan dizi değerlerini alıyorum.
    Örnek olarak kullanıcı 1,2,3 girdi diyelim sayıları.
    1<2 olduğu için çıkışı 3 almam lazım.
    Kullanıcı 1,1,2 girdi dersek
    1=1<2 olduğu için 2 almam gerekiyor.Yani dizide aldığım elaman sonrasından gelen elamandan büyükse sayaç 1 artacak.
    Kullanıcı değerleri 0 dan büyük girmek zorunda olduğu için max=0 dedim ve max i arraye eşitledim sayacı 1 artırdım.Bende ise şöyle oluyor.
    Kullanıcı 2 girdi 3 girdi direk 1 yazıyor sonra 3 den büyük bir sayı girerse tekrar 1 küçük girerse sıfır.Toplamıyor yani işlem sonucunu yazıyor direk.
    Kodun tamamı bu

    scanf("%d",&n);
    int array[n];
    for(i=0; i<n; i++){

    scanf("%d",&array[i]);



    int sayac=0;
    while(array[i]>max){
    max=array[i];
    sayac++;

    }

    printf("%d",sayac);
  • 13-04-2015, 22:43:44
    #4
    dediğinden hala bir şey anlamadım, ortada ne toplamı var ki? sadece sayaç arttırılıyor..
    c derleyicisi yok bende, özel mesajdan teamviewer id ve pass yollarsan bakarım