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

program znajdujący liczbę najbliższą średniej

Cloud VPS
+1 głos
597 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez CichoCiemny Początkujący (480 p.)

Jest to właściwie zadanie domowe z odc 11.Brzmi ono następująco: napisz program znajdujący liczbę najbliższą średniej z 5-ciu podanych.Czyli podajemy liczby program liczy średnią i ma wybrać spośród tych 5 podanych liczbę która jest najbardziej zbliżona do średniej. Wiem że już było to zadanie wielokrotnie, szukałem podobnych sytuacji jak moje ale jakoś nie znalazłem. Dlatego czy mógłby mi ktoś powiedzieć co powinienem zmienić w tym kodzie żeby pokazywał mi właśnie najbliższą liczbę z wyliczonej średniej. 

#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <time.h>

using namespace std;

float liczby [5];
float suma=0;
float srednia;
float wynik[5];
float naj1;
int main()
{
        cout << "Podaj 5 liczb: " << endl;

        for (int i=0; i<5; i++)
        {
            cin>> liczby[i];
            suma +=liczby[i];
        }
        cout << "Suma = "<<suma <<endl;
        cout << endl;
        srednia= suma/5;
        cout << "Sredia = "<<srednia<<endl;
        cout << endl;

        for (int j=0; j<5 ;j++)
        {
           wynik[j]=srednia-liczby[j];
           if (wynik[j]<0)
           {
               wynik[j]=wynik[j]*(-1);
           }
            cout <<wynik [j]<<endl;
            cout << endl;
        }

        naj1=wynik[0];
        if (wynik[1]<naj1) naj1=wynik[1];
        if (wynik[2]<naj1) naj1=wynik[2];
        if (wynik[3]<naj1) naj1=wynik[3];
        if (wynik[4]<naj1) naj1=wynik[4];

        cout << "Najblizsza liczba to: " << naj1;
        cout << endl << endl << endl;

    return 0;
}


 

3 odpowiedzi

+1 głos
odpowiedź 3 stycznia 2016 przez Patrycjerz Mędrzec (192,320 p.)
Jeśli to jest zadanie domowe, i to jeszcze nieobowiązkowe, jedynie dla twojego samokształcenia, to po co ma ci ktoś pokazywać jego rozwiązanie? Przecież wtedy niczego się nie nauczysz - co najwyżej będziesz miał odbębniony jeden program, ale to nie o to w tym chodzi...
komentarz 3 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
To znaczy wiesz, jakbym chciał rozwiązanie to jest ich dużo w internecie, dlatego próbuje napisać to sam ale nie wiem co tu jest nie tak... no nie ważne może spróbuje jeszcze raz to napisać :>
komentarz 3 stycznia 2016 przez Patrycjerz Mędrzec (192,320 p.)

Nie trać w sobie chęci, po jakimś czasie rozwiążesz ten problem i jeszcze będziesz z siebie dumny, że zrobiłeś to samodzielnie - także nauczysz się analitycznego myślenia - same zalety wink

+1 głos
odpowiedź 3 stycznia 2016 przez Sedi Stary wyjadacz (10,200 p.)

Gotowego rozwiązania Ci nie dam. Powiem, że masz wszystko dobrze, za wyjątkiem tego :

 naj1=wynik[0];
        if (wynik[1]<naj1) naj1=wynik[1];
        if (wynik[2]<naj1) naj1=wynik[2];
        if (wynik[3]<naj1) naj1=wynik[3];
        if (wynik[4]<naj1) naj1=wynik[4];

Zastanów się, czemu wcześniej przypisałeś tablicę "wynik":)

Pozdrawiam

komentarz 8 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
już to rozwiązałem i to na następny dzień od razu jak siadłem wiedziałem jak to zrobić :o
0 głosów
odpowiedź 3 stycznia 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)

Zamiast mnożyć * -1 możesz użyć wartości bezwzględnej z biblioteki math.h. Rzuć sobie na to okiem :)
 

cout << endl << endl << endl;



Po co to? :D

komentarz 8 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
a tak sobie dalem XD a co sie będę :D

Podobne pytania

0 głosów
3 odpowiedzi 1,102 wizyt
0 głosów
1 odpowiedź 1,025 wizyt
0 głosów
2 odpowiedzi 246 wizyt

93,456 zapytań

142,451 odpowiedzi

322,721 komentarzy

62,837 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

Kursy INF.02 i INF.03
...