Tablice. Liczenie średniej oraz mediany i sumy.
Ostatnio zmodyfikowano 2024-11-08 15:57
Beni Temat założony przez niniejszego użytkownika |
Tablice. Liczenie średniej oraz mediany i sumy. » 2024-11-08 12:19:49 Nie potrafię ogarnąć tego tematu na tablicach. Mam za zadanie za pom. tablic przechować po 7 ocen dla 5 uczniów. Oceny dla uczniów muszą zostać odczytane z konsoli, a po ich zebraniu program ma wyliczyć i wyświetlić dla każdego ucznia: sumę, średnią i medianę ocen. Proszę o pomoc.
|
|
DejaVu |
» 2024-11-08 12:54:09 ChatGPT 4o: Oczywiście! Oto przykładowy kod w C++, który pozwala na przechowywanie ocen w tablicach, a następnie oblicza sumę, średnią i medianę dla każdego z 5 uczniów. #include <iostream> #include <algorithm> using namespace std;
const int NUM_UCZNIOW = 5; const int NUM_OCEN = 7; int obliczSume( const int oceny[ ], int n ) { int suma = 0; for( int i = 0; i < n; i++ ) { suma += oceny[ i ]; } return suma; }
double obliczSrednia( const int oceny[ ], int n ) { int suma = obliczSume( oceny, n ); return static_cast < double >( suma ) / n; }
double obliczMediane( int oceny[ ], int n ) { sort( oceny, oceny + n ); if( n % 2 == 0 ) { return( oceny[ n / 2 - 1 ] + oceny[ n / 2 ] ) / 2.0; } else { return oceny[ n / 2 ]; } }
int main() { int oceny[ NUM_UCZNIOW ][ NUM_OCEN ]; for( int i = 0; i < NUM_UCZNIOW; i++ ) { cout << "Podaj " << NUM_OCEN << " ocen dla ucznia " << i + 1 << ": "; for( int j = 0; j < NUM_OCEN; j++ ) { cin >> oceny[ i ][ j ]; } } for( int i = 0; i < NUM_UCZNIOW; i++ ) { int suma = obliczSume( oceny[ i ], NUM_OCEN ); double srednia = obliczSrednia( oceny[ i ], NUM_OCEN ); int ocenyKopia[ NUM_OCEN ]; copy( oceny[ i ], oceny[ i ] + NUM_OCEN, ocenyKopia ); double mediana = obliczMediane( ocenyKopia, NUM_OCEN ); cout << "\nUczeń " << i + 1 << ":\n"; cout << " Suma ocen: " << suma << endl; cout << " Średnia ocen: " << srednia << endl; cout << " Mediana ocen: " << mediana << endl; } return 0; }
### Wyjaśnienie działania kodu: 1. **Struktura tablicy**: Używamy tablicy `int oceny[NUM_UCZNIOW][NUM_OCEN]` do przechowywania ocen dla każdego z uczniów. 2. **Odczyt ocen**: W pętli `for` odczytujemy oceny z konsoli dla każdego ucznia. 3. **Obliczenia**: - **Suma**: Funkcja `obliczSume` iteruje przez oceny i zwraca ich sumę. - **Średnia**: Funkcja `obliczSrednia` używa sumy i oblicza średnią. - **Mediana**: Funkcja `obliczMediane` najpierw sortuje kopię tablicy ocen, a potem oblicza medianę. W zależności od parzystości liczby ocen, medianą jest wartość środkowa lub średnia dwóch środkowych wartości. 4. **Wyniki**: Dla każdego ucznia wyświetlana jest suma, średnia i mediana jego ocen. Przetestuj kod, wpisując odpowiednie liczby ocen dla każdego ucznia, a zobaczysz wyniki zgodnie z założeniami zadania. PS. Wykorzystuj AI do zrozumienia zagadnienia, a nie jego przekopiowania, bo kopiując nie nauczysz się programować. |
|
Beni Temat założony przez niniejszego użytkownika |
» 2024-11-08 13:27:38 Heh, jestem z epoki kiedy sztuczna inteligencja była tylko w książkach SF. A to takie sprytne... Temat mam do rozwiązania na podstawach informatyki, które to są na wydziale Matematyczno-Przyrodniczym i tu hit: kierunek pielęgniarstwo. Stąd niestety mój poziom wiedzy na ten temat jest ubogi. Dzięki za pomoc i pokazanie mi kierunku, w którym powinnam zacząć bardziej się rozejrzeć (AI). Program sobie przeanalizuję, a komentarze na pewno mi pomogą w ogarnięciu tematu. Dzięki. |
|
Beni Temat założony przez niniejszego użytkownika |
» 2024-11-08 14:15:45 No to jeszcze dodałam, żeby sprawdzać czy ocena jest z zakresu "ocenowego" od jedynki do szóstki i miód malina :). Chat GPT.. Pomyślałby kto... :) |
|
DejaVu |
» 2024-11-08 15:57:35 No i fajnie :) Poświęć tylko jeszcze czas na zrozumienie i spróbuj samemu to napisać linijka po linijce, aby nauczyć się 'samemu' takie rzeczy pisać.
Zacznij od funkcji głównej main-a i sukcesywnie dodawaj kod, który jest Ci potrzebny. |
|
« 1 » |