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

question-closed Program liczący średnia z pięciu liczb i podający najbliższą średniej.

42 Warsaw Coding Academy
0 głosów
448 wizyt
pytanie zadane 5 maja 2020 w C i C++ przez OSzat Nowicjusz (150 p.)
zamknięte 5 maja 2020 przez OSzat

Witam, program tak jak w tytule pobiera 5 liczb typu float, liczy średnią i podaje tą, która jest najbliżej średniej ze wszystkich podanych. Program działa zazwyczaj poprawnie, min. dla przykładów podanych w 11 odcinku podstaw C++. Jednak dla {21.38, 7.9, 4.01, 20.01, 1.01} podaje 1.01 lub {1, 2, 3, 4, 5} podaje 4.  Proszę o wskazanie gdzie tkwi problem.

Z góry dziękuje za pomoc:)

 

#include <iostream>
#include <math.h>
#include <cstdlib>
#include <cstdio>
#include <cmath>


using namespace std;
float tablica[5], suma, srednia, a, b, c, d, e, m ;

int main()
{
    cout<<"Podaj 5 liczb"<<endl ;

    for(int i=0 ; i<5; i++)
    {
        cin>>tablica[i] ;
        suma += tablica[i] ;
    }


    srednia=suma/5 ;

    cout<<"Srednia: "<<srednia<< endl ;

    a = abs(srednia-tablica[0]) ;
    b = abs(srednia-tablica[1]) ;
    c = abs(srednia-tablica[2]) ;
    d = abs(srednia-tablica[3]) ;
    e = abs(srednia-tablica[4]) ;

    m=tablica[0] ;
    if(a>b) m=tablica[1] ;
    if(a>c) m=tablica[2] ;
    if(a>d) m=tablica[3] ;
    if(a>e) m=tablica[4] ;

    cout<<"Najblizej:"<<m<<endl;

    return 0;
}

 

komentarz zamknięcia: Otrzymano odpowiedz

1 odpowiedź

0 głosów
odpowiedź 5 maja 2020 przez DawidK Nałogowiec (37,910 p.)
wybrane 5 maja 2020 przez OSzat
 
Najlepsza

Najmniejszą wartość możesz znależć tak:

    if(b<a) m=tablica[1] ;
    if(c<b) m=tablica[2] ;
    if(d<c) m=tablica[3] ;
    if(e<d) m=tablica[4] ;

 

komentarz 5 maja 2020 przez OSzat Nowicjusz (150 p.)
Działa, dziękuje bardzo:)

Podobne pytania

0 głosów
2 odpowiedzi 235 wizyt
0 głosów
1 odpowiedź 1,016 wizyt
0 głosów
3 odpowiedzi 1,082 wizyt

93,377 zapytań

142,380 odpowiedzi

322,532 komentarzy

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...