int argv[2];
string argv[3];
ofstream fout (argv[3].c_str() , ios::app);
1) Оно даже не скомпилится, как минимум словите conflicting declaration
2) Классическая ошибка - затенение переменных. Вы хотели скастовать это в string, но в итоге написали полный бред. Даже если бы не было conflicting declaration, у вас там еще out of range: argv[3].c_str()
while (N < argv[2]) { // вывод указанного числа из параметра [N]
Вы сравниваете адрес с N, очередная бессмыслица.
Дальше искать ошибки не стал, так как не имеет смысла. Все надо переделывать.