Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 22:44   #1
ARMADA
Новичок
Джуниор
 
Регистрация: 10.10.2010
Сообщений: 2
По умолчанию работа с текстом

в заданном тексте заменить все цифры на уудвоенную величину.

Код:
#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 ). Кто нибудь скажет в чем моя ошибка?

Последний раз редактировалось ACE Valery; 04.06.2011 в 14:55.
ARMADA вне форума Ответить с цитированием
Старый 03.06.2011, 22:59   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Ужасно нечитабельный код. Могу лишь предложить свой вариант:
Код:
#include <iostream>
#include <cstring>
#include <cctype>

using namespace std;


int main()
{
	char source[7] = {'\0'}, dest[13] = {'\0'};
	cin.getline(source, sizeof source);
	
	int pos = 0, len = strlen(source);
	for(int i = 0; i < len; i++)
	{
		if(!isdigit(source[i]))
		{
			cout << "Error!" << endl;
			return 1;
		}
		else if(source[i] >= '5')
		{
			dest[pos++] = '1';
			source[i] -= 5;
		}
		dest[pos++] = (source[i] - '0')*2 + '0';
	}
	cout << dest << endl;

	return 0;
}
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом nejimakc Помощь студентам 6 09.11.2010 17:37
Работа с текстом severin Помощь студентам 1 08.11.2009 17:06
Работа с текстом fakir9999 Общие вопросы Delphi 3 04.06.2009 16:28
Работа с текстом MSD Общие вопросы Delphi 28 05.05.2009 17:56