Удалить Из Строки Все Числа

Ruslan737

New member
04.04.2012
2
0
#1
Помогите написать программу)))Дана строка до точки, группа символов в которой между пробелами считается словом,
знаки препинания от слова пробелом не отделяются.Удалить из строки все числа.
 
W

Whatka

#2
C++:
//
#include <iostream>
using namespace std;

void main()
{
char *a=new char[80];
cin.getline(a,80,'\n');
int k(0);
for(int i=0;i<strlen(a);i++)
if((a[i]=='0')||(a[i]=='1')||(a[i]=='2')||(a[i]=='3')||(a[i]=='4')||(a[i]=='5')||(a[i]=='6')||(a[i]=='7')||(a[i]=='8')||(a[i]=='9'))
{
a[i]='0';
k++;
}
k=strlen(a)-k;
char *s=new char[k];
for(int i=0,j=0;i<strlen(a);i++)
if(a[i]!='0')
{
s[j]=a[i];
j++;
}

a=new char[k];
strcpy(a,s);
delete []s;
for(int i=0;i<k;i++)
cout<<a[i];
cout<<endl;
}
//
 
R

rrrFer

#3
В задании существенно только последнее предложение. "Удалить из строки все числа."
-------------------
подтвердите кодом свои попытки решить самостоятельно (см. правило №4):
Старайтесь ВСЕГДА сначала решить задачу САМОСТОЯТЕЛЬНО, ну, а когда не выходит, ОБЯЗАТЕЛЬНО публикуйте здесь свой код, даже если он не работает. Поверьте, это значительно повышает к вам уважение. Халявщиков, которым нужно, чтобы им просто кто-нить нахаляву сделал, здесь не любят. Да и исправить мелкую ошибку в готовом коде легче, чем писать все заново. При публикации кода используйте теги кода (см. Теги форматирования кода. Справка по Bb-кодам).
Если сами решить не пытались - могу помочь Вам за услугу )
ICQ 395-546-218

Добавлено: Whatka , негодяй )

Добавлено: У вас память вытекает:
Код:
char *a=new char[80];
a=new char[k];
2 раза выделяется по одному указателю, ни разу не освобождается.
 
R

rrrFer

#5
Код:
delete []a;
не?
-----------
вцелом то программа написана так, как будто специально извращались и запутывали, но я не сомневаюсь что Вы этим преднамеренно занимались )
 
W

Whatka

#6
да)
не знал что это называется так)


извращаться??
я так всегда пишу)