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; }