C++ zliczanie obrotu pętli

Gdy szukasz lub masz problem z jakimś programem.

<<

Adamo

Awatar użytkownika

Topic author

Ekspert

Posty: 418

Rejestracja: 31 lip 2005, 19:43

Skype: adamo1991

Lokalizacja: Ostrów Wlkp / Poznań

Post autor: Adamo » 4 lut 2009, 18:42

C++ zliczanie obrotu pętli

Witam, napisałem w C++ taki program:

Kod: Zaznacz cały

#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;


int m_zerowe(int x)
{
   
   int lewy = 0, prawy = 100, d, l; 
   
     
       while (lewy!=x && prawy!=x)
         {
             d = (lewy+prawy)/2;
            if(x<d)
            prawy = d;
            else
            lewy = d;
         }      
   
   
   
   if(lewy==x) return lewy;
   if(prawy==x) return prawy;
   
}

int main()
{
   int x;
   srand(time(NULL));
   x=rand()%(101);
   
   
   
   cout << " Przyblizona wartosc liczby znalezionej metoda bisekcji z przedzialu od 0 do 100 wynosi: ";
   cout << m_zerowe(x) << endl;    
   getchar();
   return 0;
}
Jest to program losujący liczbę z przedziału 0 - 100 i szukający tej liczby metodą połowienia przedziałów. Pytanie jest takie:

W którym miejscu umieścić jaką pętle aby zliczała mi, ile razy pętla "While" musiała się "obrócić" żeby znaleźć ten x?


<<

Adamo

Awatar użytkownika

Topic author

Ekspert

Posty: 418

Rejestracja: 31 lip 2005, 19:43

Skype: adamo1991

Lokalizacja: Ostrów Wlkp / Poznań

Post autor: Adamo » 4 lut 2009, 19:01

Odp.: C++ zliczanie obrotu pętli

Heh, pomęczyłem się trochę i zrobiłem!. Po prostu dodałem nową zmienną "l" jako globalną i w pętli "While" l++. Można usunąć temat ;)
<<

Maciek

Awatar użytkownika

Administrator

Posty: 3526

Rejestracja: 5 lut 2005, 12:49

Post autor: Maciek » 4 lut 2009, 19:05

Re: C++ zliczanie obrotu pętli

A po co od razu usuwać? Innym się nie przyda? Nie bądź samolubny...
Quidquid latine dictum sit, altum videtur
Obrazek
Gdy nie masz argumentów w dyskusji, napisz: "o gustach się nie dyskutuje"