Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program wliczający ilość danych ocen

Ostatnio zmodyfikowano 2016-08-04 16:24
Autor Wiadomość
krolik5a
Temat założony przez niniejszego użytkownika
Program wliczający ilość danych ocen
» 2016-08-04 15:47:55
Witam, mam problem z tym zadaniem, wydaje mi się, że tutaj trzeba wykorzystać zagnieżdżanie pętli, ale siedzę nad tym już chyba z jakąś godzinę i za każdym razem mi nie wychodzi. Mógłby ktoś pomóc? Proszę...

Na szkolnej wywiadówce Pani rozdała każdemu z rodziców listę wszystkich ocen, które ich dziecko dostało od początku edukacji. Mama Zdzisia, spojrzawszy na tę listę, stwierdziła, że ocen tych jest bardzo dużo i na pierwszy rzut oka nie widać, czy Zdzisio jest dobrym uczniem, czy nie. Mama Zdzisia chciałaby wiedzieć dokładnie, ile Zdzisio ma jedynek, ile dwójek, ile trójek, ile czwórek, ile piątek, a ile szóstek. Ponieważ sama boi się, że pomyli się w liczeniu, poprosiła Cię o pomoc.

Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 ≤ n ≤ 1000) oznaczająca łączną liczbę ocen Zdzisia. W drugim wierszu znajduje się n liczb ze zbioru {1, 2, 3, 4, 5, 6}, oddzielonych spacjami, oznaczających kolejne oceny w karierze Zdzisia.

Wyjście
Twój program powinien wypisać sześć liczb oddzielonych spacjami, oznaczającyh kolejno: liczbę jedynek, liczbę dwójek, liczbę trójek, liczbę czwórek, liczbę piątek oraz liczbę szóstek uzyskanych przez Zdzisia.
Przykład

Dla danych wejściowych:
6
2 5 4 4 5 4
poprawnym wynikiem jest:
0 1 0 3 2 0
P-150575
kistel66
» 2016-08-04 16:09:48
Powinno działać

C/C++
#include <iostream>

using namespace std;

int main()
{
    int oceny;
    cin >> oceny;
    int * tab;
    tab = new int[ oceny ];
    int jed = 0, dwa = 0, trzy = 0, czter = 0, piec = 0, szesc = 0;
    for( int i = 0; i < oceny; i++ )
    {
        cin >> tab[ i ];
    }
   
    for( int i = 0; i < oceny; i++ )
    {
        if( tab[ i ] == 1 ) jed++;
        else if( tab[ i ] == 2 ) dwa++;
        else if( tab[ i ] == 3 ) trzy++;
        else if( tab[ i ] == 4 ) czter++;
        else if( tab[ i ] == 5 ) piec++;
        else szesc++;
       
    }
   
    cout << jed << " " << dwa << " " << trzy << " " << czter << " " << piec << " " << szesc << endl;
   
    delete[] tab;
    return 0;
}
P-150576
michal11
» 2016-08-04 16:09:57
Zrób tablice statyczną 6-cio elementową zainicjowaną zerami. Wczytuj ocenę i zwiększ o 1 wartość w danej tablicy. Mniej więcej tak:
++oceny[ wczytanaOcena ]
.

Wystarczy ci 3 zmienne, wspomniana tablica, zmienna n i zmienna do wczytywania aktualnej oceny oraz jedna pętla wczytująca ocenę i zwiększająca licznik ocen. Pamiętaj tylko o tym, że tablica jest indeksowana od zera a oceny są od 1.

Całe zadanie można zrobić w ok. 15 linijek kodu.

Przy okazji wklej swój kod.
P-150577
krolik5a
Temat założony przez niniejszego użytkownika
» 2016-08-04 16:24:53
Dzięki wielkie za pomoc, już rozumiem.
P-150579
« 1 »
  Strona 1 z 1