Witam, piszę program, który ma za zadanie przypisać wyniki rozkładu liczby na czynniki pierwsze do nowego pliku. Wszystko działa, aż do zaznaczonej na jasno-niebieski kolor linijki. Czy ktoś mógłby mi powiedzieć, na czym polega mój błąd?
#include <iostream>
#include <fstream>
#include <cmath>
#include <conio.h>
using namespace std;
void liczby(int x)
{
int pom=floor(x/2);
bool flaga=false;
for(int i=2;i<=pom;i++)
{
int potega=0;
while(x%i==0)
{
potega++;
x/=i;
}
if(potega>0 && !flaga)
cout<<i<<"^"<<potega;
if(potega>0 && flaga)
cout<<"*"<<i<<"^"<<potega;
flaga=true;
}
}
int main()
{
int n;
cout<<"Podaj liczbe: ";
cin>>n;
ofstream f("wyniki.txt");
f<<liczby(n);
f.close();
return 0;
}