C++ dizilerde tek sayıların ortalaması

Mehmetulas
17-07-2018, 14:24   |  #1  
Mehmetulas avatarı
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Tem 2018

 

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
     int tek =0;
     int teksys =0;
     int toplam = 0 ;
     int i;
     float ort;
     int n;
     int a[n];
     cout << "eleman sayısını gırınız" << endl;
     cin >> n ;
     
     for(i=0;i<n;i++){
         cout << "  eleman  gırınız " << endl ;
         cin >> a ;
         if( (a-1 %2)==0)
         a=tek;  
         toplam += tek;
          teksys +=1;
                  }
                    ort = toplam% teksys;
         cout << "tek sayilarin ortalamasi : " << (float)ort   << endl;
        }

yazdığım kodu dizideki tek sayıları bulup onları ortalamasını bulması amacıyla yazdım ama kod düzgün çalışmıyor.Ortalama hep 0 çıkıyor sıkıntı nerde acaba ?

Ensbgci
17-07-2018, 22:41   |  #2  
Taze Üye
Teşekkür Sayısı: 2
9 mesaj
Kayıt Tarihi:Kayıt: Tem 2018

Eğerortalama/Çokeğerortalama işlevini kullan. yazdığın dizelerde M O D yok mcs sayfasında detaylı bilgi bulablirsin

root__
23-07-2018, 13:12   |  #3  
Taze Üye
Teşekkür Sayısı: 1
6 mesaj
Kayıt Tarihi:Kayıt: Haz 2018

c++ ile alakalı neredeyse hiç bilgi sahibi değilim,kaliteli bir kod olmamıştır fakat çalışıyor. Buyrun


#include <iostream>
#include <math.h>
using namespace std;
int main()
{
     int tek =0;
     double teksys =0;
     int toplam = 0 ;
     int i;
     double ort;
     int n;
     int a[n];
     cout << "eleman sayısını gırınız" << endl;
     cin >> n ;
     
     for(i=0;i<n;i++){
         cout << "  eleman  gırınız " << endl ;
         cin >> a[n] ;
         if( (a[n]%2)!=0)
         {
         //        cout<<"tek!";  
         toplam += a[n];
          teksys +=1;
                  }

        }
           ort = (double)toplam/teksys;
         cout << "tek sayilarin ortalamasi : " << ort   << endl;
        }