x-kom hosting

cout wyświetlający wartość liczby

Paziuch
utworzono
utworzono

Hej, bez zbędnego przedłużania : program ma liczyć średnią i wskazywać wartość najbliższą do tej średniej ale trochę utknąłem i nie wiem jak zapisać cout'a aby wyświetlał liczbę jak najbliższą średniej. Ma ktoś jakiś pomysł? Myślałem żeby utworzyć nową zmienną albo funkcje ale nie mam pomysłu jak. Będę bardzo wdzięczny jeśli ktoś poświeci swój czas żeby pomóc mi rozwiązać ten problem. Z góry dziękuje i pozdrawiam.

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;


float w; //wartosc najblizsza do sredniej
float liczby[5];
float suma,srednia;

int main()
{
    for(int i=0; i<5; i++)
    {
        cout << "Podaj liczbe/cyfre :" << endl;
        cin>>liczby[i];
        suma=suma +liczby[i];
    }


   srednia=suma/5;

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



      w=fabs(srednia-liczby[0]);

      if (w>fabs(srednia-liczby[1])&& w<fabs(srednia-liczby[2])&&w<fabs(srednia-liczby[3])&&w<fabs(srednia-liczby[4]))

          w=fabs(srednia-liczby[1]);


      if (w>fabs(srednia-liczby[2])&& w<fabs(srednia-liczby[3])&&w<fabs(srednia-liczby[4]))

         w=fabs(srednia-liczby[2]);


      if (w>fabs(srednia-liczby[3])&&w<fabs(srednia-liczby[4]))

          w=fabs(srednia-liczby[3]);


      if (w>fabs(srednia-liczby[4]))

          w=fabs(srednia-liczby[4]);


   
    

    return 0;
}

 

franczakr
komentarz
komentarz (edytowane)

 

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;


float w; //wartosc najblizsza do sredniej
float odleglosc; //odleglosc liczby w od średniej
float liczby[5];
float suma=0, srednia; // sume nalezy na początku wyzerować

int main()
{
  
    for(int i=0; i<5; i++)
    {
        cout << "Podaj liczbe nr "<< i <<": " << endl; // Jedna cyfra np. 3 to też liczba. Dodatkowo możesz podać, którą liczbę teraz należy wprowadzić
        cin>>liczby[i];
        suma=suma +liczby[i];
    }


	srednia=suma/5;

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



    w=liczby[0];
  	odleglosc = fabs(srednia-w);
	for(int i=1; i<5; i++)
    {
      	if(odleglosc>fabs(srednia-liczby[i])) 
        {
          w=liczby[i];
          odleglosc = fabs(srednia-w);
        }
    }
   
  	cout<<"Liczba najblizsza sredniej to "<<w;
    

    return 0;
}

Ja bym to tak zrobił, dodałem też kilka upiększeń.

Edytowane przez franczakr
  • Dobra wypowiedź 1
Paziuch
komentarz
komentarz

Dziękuje Ci bardzo. Dużo krótszy i sprytniejszy kod niż mój. 

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.