• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Średnia ocen. Jaka petla?

VPS Starter Arubacloud
0 głosów
3,500 wizyt
pytanie zadane 7 listopada 2017 w C i C++ przez rayman22 Użytkownik (710 p.)
Witam. Otrzymalem zadanie o nastepujacej tresci:

Napisz program liczacy srednia ocen. Program w
pierwszej kolejnosci pyta o liczbe ocen,
ktore wchodza w sklad sredniej a nastepnie
odczytuje z klawiatury te oceny i wylicza ich
srednia.

Nie mam pomyslu, jak moge napisac powyzszy program. Chcialbym poprosic o jakies drobne wskazowki i ewentualna pomoc w sprawdzeniu kodu. dziekuje. :)
komentarz 7 listopada 2017 przez criss Mędrzec (172,590 p.)
Doprecyzuj co ci sprawia problem.
komentarz 7 listopada 2017 przez Aisekai Nałogowiec (42,190 p.)
Zmienna przechowująca sumę = 0 na początku.

Pętla for(int i=0; i<liczbaOcen; i++) albo while(n--). I w każdym obiegu pętli dodajesz do sumy liczbę. Po wyjściu z pętli dzielisz sumę przez ilość ocen, pamiętając że jeżeli suma nie jest zmienną zmiennoprzecinkowa to wynik Ci obetnie do części całkowitej.

4 odpowiedzi

0 głosów
odpowiedź 7 listopada 2017 przez Bondrusiek Maniak (61,370 p.)
wybrane 7 listopada 2017 przez rayman22
 
Najlepsza

Witam,

oto przykładowy kod na szybko

#include <iostream>


int main()
{
    int ile_liczb;
    float suma =0;
    std::cin >> ile_liczb; // wczytujesz ile liczb będzie brana pod uwagę

    for(int index = 0; index < ile_liczb; ++index)
    {
        float ocena;
        std::cin >> ocena; // dana ocena
        suma += ocena; 

    }

    float srednia = suma/ile_liczb;//wzór na śr arytmetyczną
    std::cout << "Srednia : " << srednia << std::endl;//wyświetlenie średniej
    return 0;
}

Ogólnie masz 3 rodzaje pętli:

for(), while(), do ... while() oraz możesz jeszcze tworzyć pętle zagnieżdżone z tych wcześniejszych pętli

https://www.tutorialspoint.com/cplusplus/cpp_loop_types.htm

Tam jest dokładnie wyjaśnione.

BTW

Korzystaj z google, tam już w pierwszym wyszukaniu masz przykładowe rozwiązanie problemu

http://www.algorytm.edu.pl/instrukcja-iteracyjna-ptle/35-srednia-arytmetyczna.html

Ewentualnie wpisz co tam wykodziłeś wtedy łatwiej będzie Ci pomóc, wytłumaczyć. Taki styl zadania pytania jest bardzo życzeniowy mam wrażenie, że nad rozwiązaniem problemu nie poświęciłeś za dużo czasu. Patrz wyszukiwarka google.

komentarz 7 listopada 2017 przez event15 Szeryf (93,790 p.)
Następnym razem ukryję podawany gotowiec ;) Rozumiem chęć pomocy, ale dając gotowca - nie pomagasz.
1
komentarz 7 listopada 2017 przez Bondrusiek Maniak (61,370 p.)
Ale podaje też jedną z możliwości. Wystarczy wpisać w google poszukiwaną frazę. Wydaje mi się że nie ma czegoś takiego jak przymusowa pomoc. Jak zależy mu na nauce, zrozumieniu to podałem jakąś bibliografie(link do pętli, przykład innego algorytmu i mojego) może też zedytować ten projekcik etc. Ewentualnie może o coś mnie dopytać, innych użytkowników.
komentarz 7 listopada 2017 przez JAKUBW Nałogowiec (33,470 p.)
A co jak liczba ocen jest 0?
komentarz 7 listopada 2017 przez Bondrusiek Maniak (61,370 p.)

O, dobre pytanie. Można dodać ifa

if(ile_liczb)
{
     float srednia = suma/ile_liczb;//wzór na śr arytmetyczną
     std::cout << "Srednia : " << srednia << std::endl;//wyświetlenie średniej
}
else
{
     std::cout << "Srednia : 0" << std::endl;
}

 

0 głosów
odpowiedź 7 listopada 2017 przez Michał Kazula Pasjonat (19,540 p.)
Rozumiem że program ma mieć postać konsoli.

W takim razie pętla for do pobierania ocen.
0 głosów
odpowiedź 7 listopada 2017 przez Fergus Obywatel (1,010 p.)
W jednym z pierwszych odcinków kursu z C++ na YT Pan Mirek Zelent pokazuje przykład programu wyliczającego średnią ocen. Celowo nie podam który to odcinek, abyś zadał sobie trud i poszukał, a przy okazji dowiedział się kilku innych wartościowych rzeczy z C++. Powodzenia.
0 głosów
odpowiedź 7 listopada 2017 przez rayman22 Użytkownik (710 p.)

Panowie, proszę wybaczyć mi tak słabą treść tego postu. Już śpieszę z poprawką!

Program chcę napisać w aplikacji konsolowej, w języku C. Po przeanalizowaniu Waszych cennych wskazów, napisałem taki kod:

#include <stdio.h>

int main (void)
{
    int ile_liczb, index;
    float suma = 0;

    puts("Podaj ile liczb");
    scanf("%d", &ile_liczb);

    for (index = 0; index < ile_liczb; ++index)
    {
        float ocena;
        puts("Wprowadz ocene:");
        scanf("%f", &ocena);

        suma += ocena;
    }

    float srednia = suma/ile_liczb;
    printf("Srednia to: %f", srednia);
}

 

Wszystko działa prawidłowo. Jutro popracuję nad estetyką i dodam funkcję elfe if.

Dziękuję!

 

Podobne pytania

0 głosów
6 odpowiedzi 4,761 wizyt
pytanie zadane 2 czerwca 2019 w C i C++ przez Blu3wolf Początkujący (280 p.)
0 głosów
4 odpowiedzi 329 wizyt
pytanie zadane 11 listopada 2017 w C i C++ przez rayman22 Użytkownik (710 p.)
0 głosów
1 odpowiedź 362 wizyt
pytanie zadane 18 lutego 2018 w Matematyka, fizyka, logika przez Wookiee Użytkownik (980 p.)

92,454 zapytań

141,262 odpowiedzi

319,093 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...