• 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

Object Storage Arubacloud
+1 głos
465 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,460 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 634 wizyt
0 głosów
1 odpowiedź 523 wizyt
0 głosów
2 odpowiedzi 135 wizyt

92,572 zapytań

141,422 odpowiedzi

319,645 komentarzy

61,959 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...