Jól működik ez a legkisebb közös többszörös kiszámítóprogram és hogyha statikusan deklarálom azt a bool változót akkor az azt jelenti, hogy nem fog megszűnni a forciklus befejezte után?
És azt is jelenti,hogy nem fog újrainicializálódni amikor megint rákerül a sor?
//main.cpp
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
typedef unsigned short ushort;
typedef unsigned long ulong;
int main(void){
ushort const maxNumber = 11000;
ulong number1[maxNumber], number2[maxNumber], legkissebbKozosTobbszoros;
cout << "number1: ";
cin >> *number1;
cout << "number2: ";
cin >> *number2;
for(ushort i = 1, temp1 = *number1, temp2 = *number2; i < maxNumber; ++i){
temp1 = number1[i] = *number1 + temp1;
temp2 = number2[i] = *number2 + temp2;
for(ushort j = 0; j <= i; ++j){
static bool x = false;
for(ushort k = 0; k <= i; ++k)
if(number1[k] == number2[j]){
legkissebbKozosTobbszoros = number1[k];
x = true;
break;
}
if(x)
break;
}
}
cout << "[" << *number1 << "][" << *number2 << "]: " << legkissebbKozosTobbszoros;
return 0;
}
Így van ahogy az előző írta.
Ebben az esetben sokkal jobb a prefix mert nem jön létre temporális érték.
Felesleges volna a postfix verziót alkalmazni,mert a kifejezés részeként létrejött temporális értéket nem rendeljük hozzá semmihez.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!