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?
c de arrayde sayaç artırma ??
3
●393
- 13-04-2015, 22:33:19Şöyle söyleyeyim kullanıcıdan dizi değerlerini alıyorum.ertan2002 adlı üyeden alıntı: mesajı görüntüle
Ö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);
olduğu için çıkışı 3 almam lazım.