Ciklet qe kontrollohen nga nje vlere roje (sentinel value)

 

 Ciklet qe kontrollohen nga nje vlere roje (flamur).  fq 129

 

Ky algoritem sherben per te lexuar nga tastiera nje numer te pacaktuar vlerash.

Leximi i vlerave nderpritet nga nje vlere e quajtur vlera flamur ose vlera roje (sentinel value)

- Vlera flamur duhet zgjedhur e ndryshme nga rangu i vlerave qe do lexohen perndryshe kemi gabim logjik.

Modifikohet programi i leximit te notave ne menyre qe te lexohen nga tastiera nje numer i pacaktuar notash derisa te japim numrin -1.


Forma e pergjithshme e algoritmit:

cout<< “Jepni nje vlere ose -1 per te perfunduar”<<endl;

cin>>vlera;

while (vlera != -1)

{

    veprime;

cout<< “Jepni nje vlere ose -1 per te perfunduar”<<endl;

cin>>vlera;

}

 

Shembull i llogaritjes se mesatares se notave duke perdorur algoritmin Top – Down deri sa nota e dhene te jete -1.



     #include <iostream>

#include <iomanip>

using namespace std;  

int main()

{

   

    int notat, shuma=0;

    double mesatarja;

    int i = 0;

    cout<< "Jepni noten "<<i+1

    <<" ose -1 per te perfunduar"<<endl;

    cin >> notat;

  while ( notat != -1 )  // ose >0               

    {

         

     shuma= shuma+notat;

     i=i+1;

     cout<< "Jepni noten "<<i+1

     <<" ose -1 per te perfunduar"<<endl;

     cin >> notat;

    }

   

    if ( i != 0 )

    {

     cout <<" shuma e notave eshte: "

     << shuma <<endl;

     mesatarja = (double)(shuma)/i;

cout <<"Ndersa mesatarja e notave eshte:"

     << setprecision(8)<<fixed

     << mesatarja<<endl;

          }

     else

     cout <<"Ju nuk keni dhene nota"<<endl;

      system ("pause");

     return 0;

  }

 

- manipuluesi i rrjedhes i parametrizuar setprecision(n) ben te mundur qe numri te afishohet me n shifra pas presjes

- Per perdorimin e manipuluesve setprecision , fixed etj.  perdoret libraria <iomanip>