[c++]pętla problem

0

while (licznikPetli<=potega){
if(potega==0)
wynik=1;
break;
wynik=wynik*2;
licznikPetli++;
}
czy dobrze to napisałem?? chodzi mi o to że jeśli zmienna potega będzie miała wartość 0 to pętla nie będzie wykonywana a wynik będzie miał wartość 1

0
Ja bym troszkę zoptymalizował :)

<quote>while (licznikPetli<=potega){
 if(potega==0)
 wynik=1;
 break;
 wynik=wynik*2;
 licznikPetli++;
 }</quote>

 if (potega == 0) 
   wynik = 1 
 else 
  while (licznikPetli <= potega)
 {
  wynik << 2;  // przesuwanie bitowe jest o wieli szybsze
  licznikPetli++;
 }

Masz jakieś pytanka to napisz :)

0

co to to przesuwanie bitowe??

0

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
int potega,
licznik=2;
int wynik=2;
cout<<"wpisz ktora potege liczby 2 pokazac\n";
cin>>potega;
if(potega==0){
wynik=1;
}
else
while (licznik <= potega){
{
wynik=wynik*2;

licznik++;
}
cout<<wynik;
system("PAUSE");
return 0;
}}
nadal nie działa. w programie oto chodzi że pokazuje wskazaną przez użytkownika potęge liczby 2. Tylko nie wiem jak zrobić żeby pokazywał 1 przy zerowej potędze.

0
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
 int potega,
 licznik=1;
 int wynik,podstawa=2;
 cout<<"wpisz ktora potege liczby 2 pokazac\\n";
 cin>>potega;
 if(potega==0) wynik=1;
 else
 {
        while (licznik <= potega)
        {
        wynik*=podstawa;
        licznik++;
        }
 }
 cout<<wynik<<"\\n";
 system("PAUSE");
 return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1