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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 18:30   #1
It is not me
 
Аватар для It is not me
 
Регистрация: 25.01.2011
Сообщений: 8
По умолчанию Работа со стороками в c++

задание : удалить из групп подряд идущих цифр все цифры,после запятой,начиная с третьей.как нужно доработать мой код чтобы он делал что требуется в задании,обьясните пожалуйста
Код:
#include <string.h>
#include <conio.h>
#include <stdio.h>
main ()
{char str[200], result[200]="",con[200]="";
int i,j,f,n;
printf ("Vvedite stroku\n");
gets(str);
f=0; n=0; int a=0,k=0;
for (i=0;i<strlen(str);i++)
{if (f==0) if (str[i]=='.') {result[i]=str[i]; f=1;continue;}
else {result[i]=str[i]; continue;}
if (f==1) if (str[i]=='0' || str[i]=='1' || str[i]=='2' || str[i]=='3' || str[i]=='4' 
|| str[i]=='5' || str[i]=='6' || str[i]=='7' || str[i]=='8' || str[i]=='9' )
{n++;
if (n<3) {result[i]=str[i];continue;}
else a++;}
else if (str[i]!='0' && str[i]!='1' && str[i]!='2' && str[i]!='3' && str[i]!='4' && str[i]!='5'
 && str[i]!='6' && str[i]!='7' && str[i]!='8' && str[i]!='9' ){result[i]=str[i]; continue;n=k;f=0;n=0;}
result[i]=' ';}
printf ("%s", result);
getch();
}

Последний раз редактировалось Stilet; 03.02.2011 в 07:07.
It is not me вне форума Ответить с цитированием
Старый 01.02.2011, 00:23   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

проверьте, вроде должно работать
Код:
/*удалить из групп подряд идущих цифр все цифры,после запятой,начиная с третьей.*/
#include <ioatream>

bool etoCifra(char &a){
	switch(a){
		case '1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':case'0':
			return 1;
		default:
			return 0;
	}
}

void strDelete(char *x,int a=0,int b=0){//функция удаляет b символов в строке начиная с a и включая а
	int c=strlen(x);//с - длина строки
	(b==0)?b=c:0;
	int i;
	while(b>a){//пока они не сравнялись
		for(i=a;i<c;i++)
			x[i]=x[i+1];
		b--;
		c--;
	}	
}

void deleteNumbers(char *text){
	int kol=0;
	int strl=strlen(text);
	for (int i=0;i<strl;i++){
		if (etoCifra(text[i])) kol++;//если это цифра то увеличиваем на 1
		if (kol==2){
			int j;
			for (j=i;j<strl;j++)
				if (!(etoCifra(text[j]))) break;//если это не цифра то выходим из цикла
			strDelete(text,i,j);//удаляем символы с i-того по j-й
			kol=0;
			strl=strlen(text);//пересчитать длину строки
		}
	}
}

int main(){
char text[100];
cout<<"Введите текст";
 cin.getline(text,100,'\n');//вводим текст
deleteNumbers(text);
cout<<text<<endl;
system("pause");
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 01.02.2011, 00:55   #3
nikita33321
Пользователь
 
Аватар для nikita33321
 
Регистрация: 17.12.2008
Сообщений: 56
По умолчанию

можете еще подсказать я тока начал изучать c++ почему у меня этот код не компилируеться
у меня установлена c++ 2008 express
#include <ioatream> нужно отдельно откуда то скачивать если да то ссылку не скинете?
т.к. думаю дело именно в нем а не в коде вообще ни одна программка не хочеты выводиться даже привет мир (((

Код:
#include <iostream.h>

int main ()
{
cout << "Hello, World!\n";
}
а пустое окно компилируеться

Код:
#include "stdafx.h"

int main () {

}
сори за офф топ
skype: nikita333211

Последний раз редактировалось nikita33321; 01.02.2011 в 00:58.
nikita33321 вне форума Ответить с цитированием
Старый 01.02.2011, 08:38   #4
It is not me
 
Аватар для It is not me
 
Регистрация: 25.01.2011
Сообщений: 8
По умолчанию

kaljan775 спасибо!
It is not me вне форума Ответить с цитированием
Старый 01.02.2011, 12:22   #5
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

упс, писал ночью, не заметил ошибки

Код:
#include <iostream>
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00