Portál AbcLinuxu, 11. listopadu 2025 05:26
#include iostream
using namespace std;
void rozklad()
{
int prvocisla[179]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,
};
int cislo;
int mocnina,pocet=0;
cout << "Vlozte cislo do 10000: ";
cin >> cislo;
cout<< endl << cislo << " = ";
for ( int i=0 ; i<1229 ; i++ )
{
mocnina=0;
while (cislo % prvocisla[i]==0)
{
cislo /= prvocisla[i];
mocnina++;
}
if (mocnina > 0)
{
if (pocet= !0)
cout<<" * ";
pocet++;
if (mocnina == 1)
{
cout << prvocisla[i];
}
else
{
cout << prvocisla[i] << "^" << mocnina;
}
}
}
cout << endl << endl;
}
void main()
{
cout << "Rozklad na prvocinitele CHY0022" << endl ;
char moznost='a';
while( 1 > 0 )
{
if (moznost=='a') rozklad();
cout << "Chcete pokracovat v rozkladu dalsiho cisla? vlote a pro ano n pro ne "; cin>> moznost;
cout << endl;
if (moznost=='n')
break;
}
}
Nevim si rady s timhle kouskem programu:
if (pocet= !0)
cout<<" * ";
pocet++;
Je mi jasný, že je to příkaz, kterej nastaví, kdy se má napsat * ale nechápu to, že přece proměnná počet je nastavená na nulu... jak může teda nastat situace, kdy to nula nebude.... Sorry asi za blbej dotaz, s programováním začínám a díky za jakýkoli rady nebo vysvětlení.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.