注册 登录
编程论坛 C++教室

关于变动的数组!

lockhawk 发布于 2008-09-27 18:25, 544 次点击
有没有可能建立一个会变动的数组?比如:输入3个字符数组的大小就是3;输入5个字符数组的大小就是5。
比如我下面的程序的数组,在输入100个字符后它就自动变100?
#include "iostream.h"
#include "iomanip.h"
char jiami(char a);
char jiemi(char a);
int main()
{
    char zimu[10];
    int a,b;
    int size=sizeof(zimu)/sizeof(char);
    do
    {
        cout<<"请选择1:加密。"<<endl<<"2:解密。"<<endl;
        cin>>a;
        if(a==1)
        {
            cout<<"请输入要加密的内容:"<<endl;
            for(int i=0;i<size-1;i++)
            {
                cin>>zimu[i];
            }
            cout<<"加密后的内容是:"<<endl;
            for(int j=0;j<size-1;j++)
            {
                cout<<jiami(zimu[j]);
            }
            cout<<endl;
        }
        if(a==2)
        {
            cout<<"请输入要解密的内容:"<<endl;
            for(int k=0;k<size-1;k++)
            {
                cin>>zimu[k];
            }
            cout<<"解密后的内容是:"<<endl;
            for(int n=0;n<size-1;n++)
            {
                cout<<jiemi(zimu[n]);
            }
            cout<<endl;
        }
        if(a!=1&&a!=2) cout<<"没有这个选项!"<<endl;
        cout<<"是否要继续?继续请选1"<<endl;
        cin>>b;
    }while(b==1);
    
    return 0;
}
char jiami(char a)
{
    return a+1;
}
char jiemi(char a)
{
    return a-1;
}
3 回复
#2
xmnathan2008-09-27 18:54
STL里的容器可以直接拿来用啊
#3
lockhawk2008-09-27 20:10
新手啊!!!不能说详细一点么?
#4
blueboy820062008-09-27 20:41
数组的大小一经定义就确定了!
不能再改变...
你实在想用就只能再定义一个更大的数组并把原数组的内容复制过去!
但这样做效率不高...
但是标准库中的vector容器的大小却是可以根据需要改变的...你可以参考MSDN或其它资料学习一下...
1