Консоль очень быстро закрывается, не смотря на наличие цикла
Изучая с++, я написал программу для разбора числа на множители. Но она не работает, помогите плиз
#include <iostream>
#include <cmath>
using namespace std;
//Эта функция проверяет, простое ли число
bool isPrime(long numCheck) {
bool returnVar = false;
int limit = (int) sqrt(numCheck) + 1;
int numsFrom1toX[limit];
for(int i = 1; i <= numCheck; i++) numsFrom1toX[i] = i;
//Здесь мы ищем множители numCheck среди всех чисел, от нуля до квадратного корня из numCheck
//Если они есть, то число не простое.
for(int i = 1; i <= numCheck; i++) {
if (numCheck % numsFrom1toX[i] == 0) {
returnVar = true;
break;
} else {
continue;
}
}
return returnVar;
}
int main() {
unsigned int numIn, in;
int j, i = 1;
setlocale(LC_ALL, "");
while(true) {
cout << "Введите число для разбора на множители:" << endl;
cin >> in;
numIn = in;
//Проверка на простоту числа
if (isPrime(numIn)) {
int primeNums[numIn];
int mulNums[numIn];
//Записываем массив простых чисел
for(i = 2; i < numIn; i,j++){
if (isPrime(i)) {
primeNums[j] = i; // i-- потому, что первое простое число это 2
} else {
continue;
}
}
//Поиск множителей нашего числа
for(i = 1; numIn > 1; i++) {
j = i;
//Этот цикл нужен для поиска повторяющихся множителей
while (numIn % primeNums[i] == 0) {
numIn /= primeNums[i];
mulNums[j] = i;
j++;
}
}
for(i = 1; i <= in; i++) cout << mulNums[i];
} else {
cout << "Число простое" << endl;
}
}
}
dd