Permalänk
Medlem

euklides algoritm

Vad har jag gjort för fel?

int main()
{
int M, N, R;
cout << "Mata in storre nummer (Heltal): ";
cin >> M;
cout << "Mata in mindre nummer (Heltal): ";
cin >> N;

while R >0

{
R = M%N;
M = N;
N = R;

}

cout << "Mgn: " << N << endl;

return 0;

}

Permalänk
Medlem

Fattas paranteser "while R >0" .
Varför R>0? "R" har ingen siffra.

Visa signatur

RTS :D

Permalänk
Medlem

Glöm aldrig att skriva vilket felmeddelande du får, eftersom vissa kan vara självklara.

Visa signatur

Citera för svar. kthxbai

Permalänk
Medlem

Nu har jag bara skrivit villkoret för R>0

Men när R=o så är ju den största gemensamma nämnaren N

Ska inte det vara med i koden.

för om man skriver att det största värdet är 130 och det minsta 35 så blir

Den största gemensamma nämnaren blir 25 men det ska bli 5. Det ska ju fortsätta att delas tills det inte blir någon rest alltså R=0

Permalänk
Medlem

1. Två heltal a och b, där a > b är givna.
2. Om b = 0 är algoritmen klar och svaret är a.
3. I annat fall beräknas c, resten när man delat a med b.
4. sätt a = b, b = c och börja om från steg 2 igen.
Tagen från wiki.

Visa signatur

RTS :D

Permalänk
Skrivet av strom63:

Vad har jag gjort för fel?

int main()
{
int M, N, R;
cout << "Mata in storre nummer (Heltal): ";
cin >> M;
cout << "Mata in mindre nummer (Heltal): ";
cin >> N;

while R >0

{
R = M%N;
M = N;
N = R;

}

cout << "Mgn: " << N << endl;

return 0;

}

Nu har du inte berättat vilket språk det är(antar c++) eller vad som blir fel men gissar på (antar) parenteserna i while.

while(R >0)

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Medlem

Du har inte tilldelat R något värde innan loopen! Man ska inte använda sig av variablerna innan de har ett värde.

Permalänk
Medlem

använd

do { ... kod } while (R > 0);

Visa signatur

Kom-pa-TI-bilitet