#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
float liczba[4],ne,wynik[4],s,s1=0;
cout<<"Podaj 5 liczb oddzielajac je spacja:";
for(int i=0; i<=4; i++)
{
cin>>liczba[i];
}
cout<<endl<<liczba[0]<<endl;
for(int i=0; i<=4; i++)
{
s1=s1+liczba[i];
}
s=s1/5;
cout<<"srednia jest rowna:"<<s<<endl;
//cout<<liczba[0]<<'\n'<<liczba[1]<<endl;;
/*for(int i=0; i<=4; i++)
{
wynik[i]=fabs((fabs(s))-(fabs(liczba[i])));
}*/
wynik[0]=fabs(fabs(s)-fabs(liczba[0]));
wynik[1]=fabs(fabs(s)-fabs(liczba[1]));
wynik[2]=fabs(fabs(s)-fabs(liczba[2]));
wynik[3]=fabs(fabs(s)-fabs(liczba[3]));
wynik[4]=fabs(fabs(s)-fabs(liczba[4]));
cout<<liczba[0]<<endl;
ne=liczba[0];
//alternatywna metoda bez petli
/*if(wynik[0]>=wynik[1]) ne=liczba[1];
if(wynik[1]>=wynik[2]) ne=liczba[2];
if(wynik[2]>=wynik[3]) ne=liczba[3];
if(wynik[3]>=wynik[4]) ne=liczba[4];
/* for(int i=1; i<=4; i++)
{
if(wynik[i-1]>=wynik[i]) ne=liczba[i];
}*/
cout<<"najblizsza liczba:"<<ne;
return 0;
}
Może mi ktoś powiedzieć dlaczego w tym momencie:
wynik[0]=fabs(fabs(s)-fabs(liczba[0]));
wynik[1]=fabs(fabs(s)-fabs(liczba[1]));
wynik[2]=fabs(fabs(s)-fabs(liczba[2]));
wynik[3]=fabs(fabs(s)-fabs(liczba[3]));
wynik[4]=fabs(fabs(s)-fabs(liczba[4]));
cout<<liczba[0]<<endl;
ne=liczba[0];
nagle liczba[0] jest równa 5 zamiast 6,5?
Zamierzam jeszcze uogólnić program jeśli chodzi o ilość liczb do pracy, ale na tę chwilę potrzebuję pomocy w tej części. Proszę o pomoc :(