Zadanie: napisz program w c++ który liczy ile jest '3' w podanej liczbie.
mam coś takiego:

#include
using namespace std;
int main()
{
int liczba, wynik=0, x=0;
cout<<"Podaj liczbe: ";
cin>>liczba;
while(liczba>0)
{
wynik+=liczba%10;
if(liczba==3)
x+=1;
liczba/=10;
}
cout<<"Trójek jest: "< return 0;
}

według mnie jest warunek żeby liczba była 3 i wtedy dodajemy do wyniku że jest trójka mimo to nie wychodzi mi i nie wiem o co chodzi, pomożesz?


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

int main() {

   int liczba, x = 0;

   cout << "Podaj liczbe: ";

   cin >> liczba;

   while (liczba > 0) {

       if (liczba % 10 == 3) {

           x++;

       }

       liczba /= 10;

   }

   cout << "Trojek jest: " << x;

   return 0;

}

Wyjaśnienie:

Minimalnie zmieniłem Twój kod. Ogólnie if(liczba % 10) sprawdza ostatnią cyfrę Twoja liczba i jeśli ona == 3, to zwiększasz x czyli licznik o 1. Potem robisz liczba /=10 czyli sprawdzasz cyfrę w kolejnym rzędzie itd. Mam nadzieję, że jest już jasne, jak nie to pytaj