Jasne.
#include <iostream> //Dodajesz bibliotekę iostream
using namespace std; //Ustalasz przestrzeń nazw std
int main() //main, czyli main
{
int a=4, b=22; //tworzysz zmienne a=4 i b=22
while (a!=b) //Tu opiszę później, bo to główny problem nad którym się zastanawiasz
{
if(a>b) //jeśli a jest większe od b
a=a-b; //a równe a-b
else //To też opiszę później, ze spokojem
b=b-a; //b równe b-a
}
cout<<a; //Pokaż zmienną a na ekranie
return 0; //Zwróć wartość 0
}
i teraz... Najpierw to tajemnicze while:
while to pętla, tak samo jak for(int i...). Działa tylko inaczej. W tym typie pętli wykonuje się ona ciągle dopóki warunek przy niej jest prawdziwy. Czyli nie określasz z góry ile razy ma się wykonać (jak w pętli for). Warunek jest zapisany w nawiasie. Też masz z nim problem, więc już wyjaśniam.
(a!=b)... Jak się może domyślasz, oznacza to porównanie jakichś wartości. Mamy kilka takich "operatorów":
== - Jest to porównanie, np. "a==b" oznacza "czy a jest równe b?"
<= / >= - Dwa podobne operatory, pierwszy oznacza "Czy a jest mniejsze lub równe b?" drugi to to samo, tylko że większe lub równe.
> / < - "Czy a jest większe/mniejsze od b?"
!= - To jest ten operator. Oznacza on "czy a jest różne od b?". Czyli czy ma inną wartość.
Z kolei mamy teraz to dziwne else. Jest ono bardzo łatwe do zrozumienia, tak jak mówisz, z angielskiego: oprócz.
Najpierw dajemy polecenie if. Potem możemy dać trzy różne polecenia:
if - jeśli, nic specjalnego.
else - oprócz, czyli jeśli if zwróci wartość fałsz (warunek nie jest prawdziwy, np. a nie równa się b przy warunku (a==b), to wtedy właśnie bezwzględnie wykona się instrukcja zawarta w tym poleceniu. W wypadku twojego kodu wykona się instrukcja b=b-a.
else if - tutaj jest troszkę inaczej. Jeśli if zwróci fałsz, to wykona się ten else, ale tylko jeśli jego warunek zwróci prawdę. Do tego właśnie dodajemy warunek.
Teraz tylko pokażę ci dlaczego wychodzi wartość 2.
1. a=4, b=22. a jest mniejsze od b, więc teraz b=b-a, czyli b=18.
2. a=4, b=18. a jest mniejsze od b, więc teraz b=14 (To samo).
3. a=4, b=14. a jest mniejsze od b, więc teraz b=10 (Znów to samo).
4. a=4, b=10. Znów to samo, b=6.
5. a=4, b=6. Znów to samo, b=2.
6. a=4, b=2. Teraz a jest większe od b, więc a=a-b. Czyli a=4-2=2.
No i masz a=2.