首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++从字符串中找连续数字放入数组。

2012-05-20 
C++从字符串中找连续数字放入数组。。在线等C/C++ code/编写一个函数,从一个给定的有数字字符和非数字的字符

C++从字符串中找连续数字放入数组。。在线等

C/C++ code
/编写一个函数,从一个给定的有数字字符和非数字的字符串中,将其中连续的数字作为一个整数,一次放入一个整型数组中,并统计出这些整型数据的个数.#include<iostream>#include<cstring>using namespace std;void find_number(int n){    //输入    char **A=new char*[n+1];    for(int i=0;i<n;i++) A[i]=new char[30];    for(int i=0;i<n;i++)    {        cout<<"string"<<i+1<<"(以#结束且长度不超过20)=";        cin.getline(A[i],30,'#');    }    //从给定字符串中找出数字字符串    char **N=new char*[n*30];    int count=0;    for(int i=0;i<n;i++)    {        for(unsigned int j=0;j<strlen(A[i]);)        {            if(A[i][j]>='0'&&A[i][j]<='9')            {                int p=j;                for(;A[i][p]>='0'&&A[i][p]<='9';p++) ;                N[count]=new char[p-j+1];                for(unsigned int i=0;i<p-j;i++) N[count][i]=A[i][j+i];                count++;                j=p;            }            else j++;        }    }    //把找出的数字字符串转化为数字放入数组    int *Result=new int[count];    for(int i=0;i<count;i++)    {        Result[i]=0;        for(int j=0;N[i][j]!='\0';j++) Result[i]=Result[i]*10+(N[i][j]-'0');    }    //输出    cout<<"共有"<<count<<"个数:"<<endl;    for(int i=0;i<count;i++) cout<<Result[i]<<"\t";    //善后工作    for(int i=0;i<n+1;i++) delete[] A[i];    delete A;    for(int i=0;i<n*30;i++) delete[] N[i];    delete N;    delete Result;}int main(){    int n;    do    {        cout<<"请输入待处理字符串的个数:"<<endl;        cin>>n;    }while(n<1);    find_number(n);    return 0;}

显示是什么内存问题。。。求指导

[解决办法]
说的大概意思是什么??
比如:abcdef1239832有哪些连续数字??

热点排行