hocam kodda bi sorun var galiba. Ekranda şöyle çıkıyor. Mesela 9 sayi eklenecek diyorum kac sayi eklenecek :9 minimum : 0 maximum :1445870419 ortalama : -68005926 |
Hem dizi kullanılmayacak diyorsun hem de dizi kullanan örneği kabul ediyorsun. Bu soruda zaten dizi gereksiz. Olay şundan ibaret.
|
update edildi int n,toplam=0,min=0,max=0; int * dizi; int * index; cout <<"kac sayi eklenecek"; cin>>n; dizi = new int[ n ]; for(index=dizi; index < dizi + n ; index ++){ cout<<"sayi giriniz \n"; cin>> *index; if(index==dizi) min=*index; if(*index<min)min=*index; if(*index>max)max=*index; toplam +=*index; } cout <<"minimum : "<< min; cout <<"\n"; cout <<"maximum : "<< max; cout <<"\n"; cout<<"ortalama : "<<toplam/n; int bekle; cin>>bekle; |
dizi kullanılmayacaksa muhtemelen pointerlara da geçmemişlerdir. yarın kalkınca bakacağı |
elektro gadget en_kucuk=INT_MAX demişsin bu ne anlama geliyor açıklar mısın? |
INT_MAX int değişkeninin alabileceği en büyük sayı demek. Kodun taşınabilir olmasını sağlamak ve hatalardan korunmak için hard code yerine böyle sembolik sabitler kullanmak gerekir. Bu örnekte ne işe yaradıklarına gelince; alınan ilk sayıyı en_kucuk ve en_buyuk değişkenlerine atamak için. Daha doğrusu bunu garantilemek için. Çünkü kullanıcı kaç girerse girsin en_kucuk ten küçük olacak, en_buyuk ten de büyük. |
Arkadaşlar ben böyle yaptım program çalışıyor. Birde siz göz atar mısınız nereler fazla daha iyi nasıl olur? #include <cstdlib> #include <iostream> using namespace std; int ortalama(int sayi){ int buyukSayi,kucukSayi,sayi1=0,i=0,sayi2=0; float ortalama1,toplam=0,n; cout<<"kac sayi girilecek? :"<<endl; cin>>n; do{ cout<<"Bir sayi giriniz :"<<endl; cin>>sayi; i++; toplam=toplam+sayi; if(sayi>sayi1){ sayi1=sayi; buyukSayi=sayi1; } if(sayi2>sayi){ kucukSayi=sayi; } sayi2=sayi; }while(n!=i); ortalama1=toplam/n; cout<<"Sayilarin ortalamasi :"<<ortalama1<<endl; cout<<"Buyuk sayi"<<buyukSayi<<endl; cout<<"Kucuk sayi"<<kucukSayi<<endl; } int main(int argc, char *argv[]) { int x; ortalama(x); system("PAUSE"); return EXIT_SUCCESS; } |
Pardon kucuk sayiyi yanlış buluyor onuda yazıp yarın atacağım |
int n,toplam=0,min=0,max=0; int * dizi; int * index; cout <<"kac sayi eklenecek"; cin>>n; dizi = new int[ n ]; for(index=dizi; index < dizi + n ; index ++){ cout<<"sayi giriniz \n"; cin>> *index; if(index==dizi) max=min=*index; if(*index<min)min=*index; if(*index>max)max=*index; toplam +=*index; } cout <<"minimum : "<< min; cout <<"\n"; cout <<"maximum : "<< max; cout <<"\n"; cout<<"ortalama : "<<toplam/n; int bekle; cin>>bekle; |
dizi olmayacak |
int n,toplam=0,min=0,max=0;
int * dizi;
int * index;
cout <<"kac sayi eklenecek";
cin>>n;
dizi = new int[ n ];
for(index=dizi; index < dizi + n ; index ++){
if(*index<min)min=*index;
if(*index>max)max=*index;
toplam +=*index;
}
cout <<"minimum : "<< min;
cout <<"\n";
cout <<"maximum : "<< max;
cout <<"\n";
cout<<"ortalama : "<<toplam/n;
< Bu mesaj bu kişi tarafından değiştirildi Yossi Kohen -- 27 Nisan 2013; 1:04:35 >
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle