#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;
текст
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;
main ()
{
char str[7],str1[15];
int i,j;
long int numb,k,s=0;
cin.getline(str,sizeof(str)); //vvodim 6-zna4. 4islo
i=strlen(str); //6
numb=atol(str);
for(j=i-1; j>=0; j--) {
k=((numb/((long int)pow(10,j))%10))*2;
s=s*10+k;
}
ltoa(s,str1,10);
cout << str1 << endl;
cin.get();
cin.get();
return 0;
}
результат выдается с ошибкой , например вожу текст: 123123 ,выдает : 246646(а не 246246 ). Кто нибудь скажет в чем моя ошибка?
может, просто опечатался при вводе.
Цитата: salimov.ruslan
Код:
Зачем такую кашу мешать? Если используешь чистый C - убирай cin.getline() и прочее. Если хочешь писать на C++ - убирай itoa() и используй stringstream вместо него, аналогично убирай char[] и пользуйся std::string.