Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

текст

54K
03 июня 2011 года
salimov.ruslan
6 / / 20.03.2010
в заданном тексте заменить все цифры на уудвоенную величину.

#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 ). Кто нибудь скажет в чем моя ошибка?
316
04 июня 2011 года
Alm3n
889 / / 29.05.2009
[ATTACH=CONFIG]5176[/ATTACH]
может, просто опечатался при вводе.
278
04 июня 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: salimov.ruslan

 
Код:
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;



Зачем такую кашу мешать? Если используешь чистый C - убирай cin.getline() и прочее. Если хочешь писать на C++ - убирай itoa() и используй stringstream вместо него, аналогично убирай char[] и пользуйся std::string.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог