Çözüldü C++ [0,100] aralığında rastgele üretilen 5 tane reel sayıyı hesaplama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

umitoznehir

Femtopat
Katılım
8 Haziran 2022
Mesajlar
8
Daha fazla  
Cinsiyet
Erkek
[0,100] aralığında rastgele üretilen 5 tane reel sayının aritmetik, harmonik, geometrik ortalamasını ve varyansını hesaplayan programı yazınız.

Arkadaşlar, ödevim bu şekilde örneğini de bulamadım. Nasıl yapabilirim bilen varsa yardımcı olabilir mi?
 
Son düzenleyen: Moderatör:
Çözüm
C++:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <tuple>

using namespace std;

tuple<float, float, float, float, float> hesapla(float arr[], int size);

int main()
{
    srand(time(NULL));
    float arr [5];
    int size = sizeof(arr)/sizeof(arr[0]);
    
    for (int i = 0; i < size; i++) {;
        arr[i] = ((float)rand() / (float)RAND_MAX)*100;
    }
    
    auto [aritmetik, harmonik, geometrik, varyans, standart_sapma] = hesapla(arr, size);
    for (auto& num : arr) {
        cout<<num<<endl;
    }
    
    cout << "aritmetik ortalama: " << aritmetik << endl;
    cout << "harmonik ortalama: " << harmonik << endl;
    cout << "geometrik ortalama: " << geometrik << endl;
    cout << "varyans: " << varyans << endl;
    cout << "standart sapma: " << standart_sapma << endl;
    return 0;
}

tuple<float, float, float, float, float> hesapla(float arr[], int size)
{
    float aritmetik = 0, harmonik = 0, geometrik = 1, varyans = 0, standart_sapma = 0;

    for(int i = 0; i < size; i++) {
        aritmetik += arr[i];
        harmonik += (1 / arr[i]);
        geometrik *= arr[i];
    }
    
    aritmetik /= size;
    harmonik = size / harmonik;
    geometrik = pow(geometrik, (float)1 / size);
    
    for(int i = 0; i < size; i++) {
        varyans += (arr[i] - aritmetik) * (arr[i] - aritmetik);
    }
    
    varyans /= size;
    standart_sapma = sqrt(varyans);
    
    return make_tuple(aritmetik, harmonik, geometrik, varyans, standart_sapma);
}
C++:
#include <iostream>
using namespace std;

int main()
{
    int max = 100, min = 0;
    srand(time(NULL));
   
    int s1 = (rand() % (max - min + 1 ) + min);
    int s2 = (rand() % (max - min + 1 ) + min);
    int s3 = (rand() % (max - min + 1 ) + min);
    int s4 = (rand() % (max - min + 1 ) + min);
    int s5 = (rand() % (max - min + 1 ) + min);
   
    return 0;
}

Bu şekilde 0-100 aralığında rastgele 5 tane sayı oluşturabilirsin. Her çalıştığında da bu sayılar farklı olacaktır. Geriye kalan yapmak istediğin hesaplamaların formüllerine göre işlem satırlarını yazmak.
 
C++:
#include <iostream>
using namespace std;

int main()
{
    int max = 100, min = 0;
    srand(time(NULL));
  
    int s1 = (rand() % (max - min + 1 ) + min);
    int s2 = (rand() % (max - min + 1 ) + min);
    int s3 = (rand() % (max - min + 1 ) + min);
    int s4 = (rand() % (max - min + 1 ) + min);
    int s5 = (rand() % (max - min + 1 ) + min);
  
    return 0;
}

Bu şekilde 0-100 aralığında rastgele 5 tane sayı oluşturabilirsin. Her çalıştığında da bu sayılar farklı olacaktır. Geriye kalan yapmak istediğin hesaplamaların formüllerine göre işlem satırlarını yazmak.
 
Oluşturulan tam sayılar birer reel sayıdır.

ETYQWUTRYWQTEYQWTRWQYETQWYRUQWYEIUWQYRTQWEYQWR.

C++:
#include <iostream>

//hmm ctime include etmeden time() kullanayııım.

srand(time(NULL));

//Sonraa napsaaam reel sayı demiş ama neyse ya tam sayılar da reel zaten.
// Ooof rand kullanmaya da üşendim neyse kafamdan rastgele vereyim nasılsa kafam da
// random çalışıyooor.
int s1 = 10;
int s2 = 1;
int s3 = 3;  //Sıfırla on arasında oldu ama neyse aynı zamanda da 0-100 arasında bir şey olmaz.
int s4 = 6;
int s5 = 0;
// off main'i falan da unuttuk ama neyse artık kendisi getirir devamını bilmese neden soruyu sorsun kii?
 
ETYQWUTRYWQTEYQWTRWQYETQWYRUQWYEIUWQYRTQWEYQWR.

C++:
#include <iostream>

//hmm ctime include etmeden time() kullanayııım.

srand(time(NULL));

//Sonraa napsaaam reel sayı demiş ama neyse ya tam sayılar da reel zaten.
// Ooof rand kullanmaya da üşendim neyse kafamdan rastgele vereyim nasılsa kafam da
// random çalışıyooor.
int s1 = 10;
int s2 = 1;
int s3 = 3;  //Sıfırla on arasında oldu ama neyse aynı zamanda da 0-100 arasında bir şey olmaz.
int s4 = 6;
int s5 = 0;
// off main'i falan da unuttuk ama neyse artık kendisi getirir devamını bilmese neden soruyu sorsun kii?

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Yazdığım kod web üzerindeki bir derleyicide bile ekstra hiçbir kütüphaneyi include etmeden çalışıyor. Tam sayılar, reel sayıların alt kümesidir. Buna bir itirazın varsa ortaokul öğretmenin ile görüş.
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Yazdığım kod web üzerindeki bir derleyicide bile ekstra hiçbir kütüphaneyi include etmeden çalışıyor. Tam sayılar, reel sayıların alt kümesidir. Buna bir itirazın varsa ortaokul öğretmenin ile görüş.
Bazen de asıl derleyicilerde çalışmaz :D
1654767990394.png


[0,100] aralığındaki sonsuz reel sayıyı 101 tane değere sınırlamak akıllıcaysa haklısınız.
Sizin mantığınızla rand'ı 0,10 arasında atıp 0,10 arasındaki her sayı aynı zamanda 0,100 arasındadır da diyebilirim.
 

Geri
Yukarı