Średnia arytmetyczna

0

Witam, mam problem. Robię kalkulator, zrobiłem już kilka funkcji aż doszedłem do momentu gdzie mam wyliczyć średnią arytmetyczną z dowolnych liczb. Niestety nie wiem jak zacząć to pisać. Tak jak pisałem wyżej mam już kawałek kodu poniżej przesyłam. Prosił bym o lekkie naprowadzenie
'''
#include <iostream>
#include <windows.h>
#include <math.h>

using namespace std;

int liczba1,liczba2,wybor,dodawanie,odejmowanie,mnozenie,dzielenie,yes,no,tak,nie,potegowanie,wykladnik,stopien;

int main()
{
while(true)

        for(;;)
        {
            cout<<"___Wybierz Dzialanie___"<<endl;
            cout<<"1.Dodawanie"<<endl;
            cout<<"2.Odejmowanie"<<endl;
            cout<<"3.Mnozenie"<<endl;
            cout<<"4.Dzielenie"<<endl;
            cout<<"5.Potegowanie"<<endl;
            cout<<"6.Pierwiastkowanie"<<endl;
            cout<<"7.Procent"<<endl;
            cout<<"8.Srednia Arytmetyczna"<<endl;
            cout<<"wybierasz: ";
            cin>>wybor;

            if(wybor==1)
            {
                cout<<"Podaj pierwsza liczbe";
                cin>>liczba1;
                cout<<"Podaj druga liczbe:";
                cin>>liczba2;
                dodawanie=liczba1+liczba2;
                cout<<"Wynik: "<<dodawanie<<endl;
            }
            else if(wybor==2)
            {
                cout<<"Podaj pierwsza liczbe";
                cin>>liczba1;
                cout<<"Podaj druga liczbe:";
                cin>>liczba2;
                odejmowanie=liczba1-liczba2;
                cout<<"Wynik: "<<odejmowanie<<endl;
            }
            else if(wybor==5)
            {
                cout<<"Podaj pierwsza liczbe";
                cin>>liczba1;
                cout<<"Podaj wykladnik:";
                cin>>liczba2;
                cout<<"Wynik:"<<pow(liczba1,liczba2)<<endl;
            }
            else if(wybor==6)
            {
                float p,w;
                cout<<"Podaj liczbe pod pierwiastkiem:";
                cin>>p;
                cout<<"Podaj stopien";
                cin>>w;
                cout<<"Wynik:"<<pow(p, 1/w)<<endl;
            }
            else if(wybor==7)
            {
                double procent;
                cout<<"Podaj liczbe";
                cin>>liczba1;
                cout<<"Podaj procent";
                cin>>procent;
                cout<<"Wynik:"<<procent/100*liczba1<<endl;
            }
            else if(wybor==8)
            {
                
            }
            else if(wybor==3)
            {
                cout<<"Podaj pierwsza liczbe:";
                cin>>liczba1;
                cout<<"Podaj druga liczba";
                cin>>liczba2;
                mnozenie=liczba1*liczba2;
                cout<<"Wynik: "<<mnozenie<<endl;
            }
            else if(wybor==4)
            {
            if(liczba2==0)
                {
                cout <<"Nie da sie dzielic przez 0"<<endl;
                }
                else
                {
                    dzielenie=liczba1/liczba2;
                    cout<<"Wynik: "<<dzielenie<<endl;
                }
                }
                else
                    cout<<"Nie ma takiej opcji"<<endl;
                    {
                        string a,b;
                        cout << "czy chcesz wylaczyc, w przeciwnym wypadku nastapi reset: ";
                        cin >> a;
                        if (a == "tak")
                        {
                            cout<<"Dziekuje za uwage. Program zostal napisany przez K.T";
                            Sleep(3000);
                            exit(0);
                        }
                        else
                            cout<<"czy chcesz wylaczyc, w przeciwnym wypadku nastapi reset: ";
                            {
                                system("cls");
                            }
                    }
         }
return 0;

}
'''

3

A jak obliczyłbyś średnią arytmetyczną, używając notacji matematycznej (bez angażowania programowania)?

1

Pierwsza rada - wydziel funkcje realizujące poszczególne zadania. Tak będzie czytelniej oraz profesjonalniej ;)

A odnośnie naprowadzenia - zastanów się, w jaki sposób byś liczył średnią "ręcznie" - jak to przemyślisz to czytaj dalej. Zasadniczo - programowanie to jest sposób myślenia, język programowania jest jedynie narzędziem. Jak rozkminisz sobie sposób "tradycyjnego" liczenia średniej, to potem już nie powinieneś mieć większych problemów z zakodowaniem tego.

Średnia arytmetyczna to najprostszy wariant- sumujesz liczby, a następnie dzielisz przez ich ilość.
Odnośnie naprowadzenia - musisz w ramach jakiejś pętli typu while wczytywać od użytkownika kolejne numerki.
Po podaniu przez użytkownika liczby wykonujesz dwie czynności - po pierwsze dodajesz tę liczbę do sumy wprowadzonych liczb, a po drugie - zwiększasz o 1 ilość wprowadzonych przez użytkownika liczb.
Pytane - jak długo wczytywać liczby?
Można albo najpierw zapytać o to, ile ich będzie, a potem tyle razy je wczytać, ale jest to rozwiązanie mało wygodne.
Lepszą opcją jest wczytywać ta długo, aż użytkownik przestanie je wprowadzać. Najczęściej się stosuje wczytywanie do czasu, aż użytkownik nie wciśnie Entera bez wpisania wartości (czyli wczytana przez Ciebie zmienna będzie pusta), Można oczywiście wprowadzić jakiś inny znak, który przerwie wczytywanie - np.gwiazdkę ;)

Ostatnia sprawa- po przerwaniu wczytywania wykonujesz obliczenie średniej - czyli dzielisz sumę liczb przez ich ilość, a otrzymany wynik wypisujesz na ekran.

Mam nadzieję, że trochę naprowadziłem :)

0
Silv napisał(a):

A jak obliczyłbyś średnią arytmetyczną, używając notacji matematycznej (bez angażowania programowania)?
liczba1+liczba2+liczba3/3 np 1+2+3/3=6/3=2

0
cerrato napisał(a):

Pierwsza rada - wydziel funkcje realizujące poszczególne zadania. Tak będzie czytelniej oraz profesjonalniej ;)

A odnośnie naprowadzenia - zastanów się, w jaki sposób byś liczył średnią "ręcznie" - jak to przemyślisz to czytaj dalej. Zasadniczo - programowanie to jest sposób myślenia, język programowania jest jedynie narzędziem. Jak rozkminisz sobie sposób "tradycyjnego" liczenia średniej, to potem już nie powinieneś mieć większych problemów z zakodowaniem tego.

Średnia arytmetyczna to najprostszy wariant- sumujesz liczby, a następnie dzielisz przez ich ilość.
Odnośnie naprowadzenia - musisz w ramach jakiejś pętli typu while wczytywać od użytkownika kolejne numerki.
Po podaniu przez użytkownika liczby wykonujesz dwie czynności - po pierwsze dodajesz tę liczbę do sumy wprowadzonych liczb, a po drugie - zwiększasz o 1 ilość wprowadzonych przez użytkownika liczb.
Pytane - jak długo wczytywać liczby?
Można albo najpierw zapytać o to, ile ich będzie, a potem tyle razy je wczytać, ale jest to rozwiązanie mało wygodne.
Lepszą opcją jest wczytywać ta długo, aż użytkownik przestanie je wprowadzać. Najczęściej się stosuje wczytywanie do czasu, aż użytkownik nie wciśnie Entera bez wpisania wartości (czyli wczytana przez Ciebie zmienna będzie pusta), Można oczywiście wprowadzić jakiś inny znak, który przerwie wczytywanie - np.gwiazdkę ;)
Dzięki

Ostatnia sprawa- po przerwaniu wczytywania wykonujesz obliczenie średniej - czyli dzielisz sumę liczb przez ich ilość, a otrzymany wynik wypisujesz na ekran.

Mam nadzieję, że trochę naprowadziłem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1