#include<iostream>
#include<vector>
using namespace std;
void ispis(int &n,int &fmin,int &fmax)
{
vector<int>faktor;
if(n==1) throw "xxx";
if(n<0) n=(-1)*n;
for(int i(2);i<n;i++)
{cout<<"1";
while (n>1)
{
if (n%i==0)
{
faktor.push_back(i);
n/=i;
cout<<"2";
}
i++;
}
}
fmax=faktor[0];
fmin=faktor[0];
for(int i(0); i<faktor.size(); i++){
if(fmax<faktor[i]) fmax=faktor[i];
if(fmin>faktor[i]) fmin=faktor[i];
cout<<"3";
}
if (faktor.size()==0)
cout<<"Uneseni broj nema prostih faktora"<<endl;
}
int main()
{
int n,fmin,fmax;
try {
cout<<"Ova funkcija ispisuje najveci i najmanji prosti faktor unesenog broja."<<endl;
cout<<"Unesite broj: n= ";
cin>>n;
ispis(n,fmin,fmax);
if(fmin==fmax)
cout<<"Uneseni broj ima samo jedan prosti faktor koji mu je i minimum i maksimum: "<<fmin<<endl;
else
cout<<"Za uneseni broj najmanji prosti faktor je "<<fmin<<",a najveci je "<<fmax<<endl;
}catch(...)
{
cout<<"GRESKA! Uneseni broj ne podlijeze trazenoj analizi"<<endl;}
return 0;
}
Korektno mi treba da radi za sve brojeve.Ne vidim neku gresku ali ne radi za neke brojeve pa ako mozete pomoci :-)