Program działa poprawnie, jednak po zamknięciu go w pętli, system("cls") sprawia, że nie działa jak powinien.
Ta sama czynność wykonana 2 razy.
Tu bez pętli (z wyłączeniem i włączeniem programu) http://puu.sh/rz5b9.png
Tu w pętli bez cls http://puu.sh/rz5sr.png
Tu w pętli z cls pętlą http://puu.sh/rz5mp.png
Wynika z tego, że cls czyści ale nie wszystko.
Jak mógłbym to naprawić?
#include <iostream>
#include <cstdlib>
using namespace std;
float a[5] , b=0, c, x[5], y[5], z, m[5];
int main()
{
for(;;)
{
cout << "Podaj 5 liczb:" << endl; cout << endl;
for(int i=0; i<5; i++)
{
cout << "Podaj " << i+1 << " liczbe: ";
cin >> a[i]; cout << endl;
b = b + a[i];
}
c = b / 5;
for (int i=0; i<5; i++)
{
x[i] = c - a[i];
}
for (int i=0; i<5; i++)
{
if (x[i]<0) y[i]=x[i]*-1;
else y[i] = x[i];
}
z = y[0];
if (y[1]<z) z=y[1];
if (y[2]<z) z=y[2];
if (y[3]<z) z=y[3];
if (y[4]<z) z=y[4];
if (z==y[0]) m[0]=a[0];
if (z==y[1]) m[1]=a[1];
if (z==y[2]) m[2]=a[2];
if (z==y[3]) m[3]=a[3];
if (z==y[4]) m[4]=a[4];
cout << "Srednia wynosi" << endl; cout << endl;
cout << c << endl; cout << endl;
cout << "Najblizsza sredniej jest liczba / sa liczby:" << endl; cout << endl;
for (int i=0; i<5; i++)
{
if (m[i]!=0)
cout << m[i] << endl;
}
cout << endl;
system ("PAUSE");
system("cls");
}
return 0;
}