Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
32
Cevap
905
Tıklama
0
Öne Çıkarma
Cevap: C++ da sorunum var. (2. sayfa)
Y
12 yıl
Yüzbaşı

Mainin içine bunu yaz

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.
F
12 yıl
Çavuş
Konu Sahibi

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


Bu mesaja 2 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: farukbayram

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.

 
#include <iostream>
#include <climits>

int main()
{
int n, sayi, toplam = 0, en_kucuk = INT_MAX, en_buyuk = INT_MIN;

std::cout << "Kaç tane sayı girilecek?: ";
std::cin >> n;

for(int i = 1; i <= n; ++i) {
std::cout << i << ". sayı: ";
std::cin >> sayi;
toplam += sayi;

if(sayi < en_kucuk)
en_kucuk = sayi;
if(sayi > en_buyuk)
en_buyuk = sayi;
}
std::cout << "\nToplam: " << toplam << std::endl;
std::cout << "En küçük: " << en_kucuk << std::endl;
std::cout << "En büyük: " << en_buyuk << std::endl;
std::cout << "Ortalama: " << (float) toplam / n << std::endl;

return 0;
}



Y
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: farukbayram

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

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;



S
12 yıl
Yarbay

dizi kullanılmayacaksa muhtemelen pointerlara da geçmemişlerdir.

yarın kalkınca bakacağı



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
F
12 yıl
Çavuş
Konu Sahibi

F
12 yıl
Çavuş
Konu Sahibi

elektro gadget en_kucuk=INT_MAX demişsin bu ne anlama geliyor açıklar mısın?


Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: farukbayram

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.


Bu mesaja 1 cevap geldi.
F
12 yıl
Çavuş
Konu Sahibi

F
12 yıl
Çavuş
Konu Sahibi

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;
}


Bu mesaja 1 cevap geldi.
F
12 yıl
Çavuş
Konu Sahibi

Pardon kucuk sayiyi yanlış buluyor onuda yazıp yarın atacağım


Bu mesaja 1 cevap geldi.
Y
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: farukbayram

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;


Bu mesaja 1 cevap geldi.
F
12 yıl
Çavuş
Konu Sahibi

dizi olmayacak



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.