#include <iostream>
using namespace std;
float a,b,c,d,e;
float av;
float ava, avb, avc, avd, ave;
float diff;
int main()
{
cout << "Prosze podac 5 liczb oddzielonych spacja lub enterem."<<endl<<
"Do zapisywania liczb niecalkowitych prosze uzywac kropki. Np. 3.14 ."
<< endl;
cin>> a >> b >> c >> d >> e;
av=(a+b+c+d+e)/5;
if (av>=a) ava=av-a; else if (av<a) ava=a-av;
if (av>=b) avb=av-b; else if (av<b) avb=b-av;
if (av>=c) avc=av-c; else if (av<c) avc=c-av;
if (av>=d) avd=av-d; else if (av<d) avd=d-av;
if (av>=e) ave=av-e; else if (av<e) ave=e-av;
diff=ava;
if (avb<diff) diff=avb;
if (avc<diff) diff=avc;
if (avd<diff) diff=avd;
if (ave<diff) diff=ave;
cout<< "Srednia= " << av << endl;
if (diff==ava)
cout<< "Najblizsza= " << a << endl;
if (diff==avb)
cout<< "Najblizsza= " << b << endl;
if (diff==avc)
cout<< "Najblizsza= " << c << endl;
if (diff==avd)
cout<< "Najblizsza= " << d << endl;
if (diff==ave)
cout<< "Najblizsza= " << e << endl;
return 0;
}
Witam, w jaki sposób dodać w powyższym kodzie możliwość wyświetlania dwóch innych liczb tak samo bliskich średniej, przy jednoczesnym uniknięciu powtarzania się tej samej liczby?
Czyli np. mam liczby:
1) 3 3 3 1 5 (średnia- 3, najbliżej-wszystkie trójki, lecz chcę wyświetlić liczbę 3 tylko raz)
2) 3.5 6.5 0 15 0 (średnia- 5, najbliżej- 3.5 oraz 6.5, chcę wyświetlić obie te liczby)
Pozdrawiam.