Есть код: (Все смотреть не обязательно - см. описание проблемы после кода.)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main(){
char codeN[20];
int start, end;
double sprava, K, len, codeNn, ostatok, perenosimoe, cleanChislo, endChislo;
ifstream in("code.in");
in >> codeN;
in >> K;
in.close();
len = strlen(codeN);
codeNn = atoi(codeN);
start = pow(double(10),double(len-1));
end = pow(double(10), double(len));
for (int i = start; i < end; i++){
sprava = len - K;
perenosimoe = int(i / pow(10,sprava));
ostatok =( i / pow(10,sprava) - int(i / pow(10,sprava)) ) * pow(10,sprava);
cleanChislo = ostatok * pow(10,K);
endChislo = cleanChislo + perenosimoe + i;
cout << "Ravny li " << endChislo << " i " << codeNn;
if ( codeNn == endChislo ) {
ofstream out("code.out");
out << i << endl;
out.close();
return 0;
}
}
return 0;
}
Ну так вот. codeNn из файла == 512, а K = 1;
Но это тоже не важно. Важно вот что:
Есть там строчка " cout << "Ravny li " << endChislo << " i " << codeNn; "
При одной из итераций она выводит: " Ravny li 512 i 512 ".
А затем программа нифига не завершается и в файл ничего не записывается. То бишь получается, что эти переменные не равны, хотя только что он их вывел и они явно (512 == 512) равны!
Вот как. Очень жду ответа. Всем заранее спасибо.
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от kuz
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум gcc cos(1)=0.540302 (2011)
- Форум Самодельный пасер на С++ : не удаляет комментарии (2015)
- Форум Реализация рестартов из Common Lisp в C++ (2016)
- Форум [C++] Работа с fsream, чтение и запись. (2009)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум Segmentation fault (Core dumped) (2018)
- Форум Как правильно считывать данные из файла? (2012)
- Форум С++ неожиданный результат выдаёт. (2020)
- Форум с++, long double, непонятное поведение (2008)
- Форум Проблема с чтением из файла. (2013)