| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1352 人关注过本帖
标题:新学C++,有个问题
只看楼主 加入收藏
bestcln
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
 问题点数:0 回复次数:12 
新学C++,有个问题
才开始看C++.照着书敲了一段程序.结果是"v' : undeclared identifier"说是有个错误.我不大懂.大哥帮帮忙吧.谢谢
程序:
#include<iostream>
using namespace std;
class ARR
{
    int m;
    int a[100];
public:
    ARR(int x[],int size)
    {
        m=size;
        for(int i=0;i<m;i++)
            a[i]=x[i];
    }
    void delsame();
    void show()
    {
        for(i=0;i<m;i++)
        {
            cout<<a[i]<<"\t";
            if((i+1)%5==0)
                cout<<edl;
        }
        cout<<endl;
    }
};
void ARR::delsame()
{
    int i,j;
    for(i=0;i<m-1;i++)
    {
        if(a[i]=a[i+1])
        {
            for(j=i+1;j<m-1;j++)
        {
            a[j]=a[j+1];
        }
        m--;
        i--;
        }
    }
}
int main()
{
    int b[16]={1,2,2,3,3,4,4,5,6,6,7,7,8,8,9,10,10}
    ARR v(b,sizeof(b)/sizeof(b[0]));
    v.show();
    v.delsame();
    v.show();
    return 0;
}
搜索更多相关主题的帖子: void include public 
2008-03-23 19:38
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
好了有点小错
#include<iostream>
using namespace std;
class ARR
{
    int m;
    int a[100];
public:
    ARR(int x[],int size)
    {
        m=size;
        for(int i=0;i<m;i++)
            a[i]=x[i];
    }
    void delsame();
    void show()
    {
        for(int i=0;i<m;i++)
        {
            cout<<a[i]<<"\t";
            if((i+1)%5==0)
                cout<<endl;
        }
        cout<<endl;
    }
};
void ARR::delsame()
{
    int i,j;
    for(i=0;i<m-1;i++)
    {
        if(a[i]=a[i+1])
        {
            for(j=i+1;j<m-1;j++)
        {
            a[j]=a[j+1];
        }
        m--;
        i--;
        }
    }
}
int main()
{
    int b[20]={1,2,2,3,3,4,4,5,6,6,7,7,8,8,9,10,10};
    ARR v(b,sizeof(b)/sizeof(b[0]));
    v.show();
    v.delsame();
    v.show();
    return 0;
}

学习需要安静。。海盗要重新来过。。
2008-03-23 19:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
你改为这样就没问题了:
#include <iostream>
using namespace std;
class ARR
{
    int m;
    int a[100];
public:
    ARR(int x[], int size)
    {
        m = size;
        for(int i = 0; i < m; i++)
            a[i] = x[i];
    }
    void delsame();
    void show()
    {
        for(int i = 0; i < m; i++)
        {
            cout << a[i] << "\t";
            if((i + 1) % 5 == 0)
                cout << endl;
        }
        cout<<endl;
    }
};
void ARR::delsame()
{
    int i, j;
    for(i = 0; i < m - 1; i++)
    {
        if(a[i] = a[i + 1])
        {
            for(j = i + 1; j < m - 1;j++)
            {
                a[j] = a[j + 1];
            }
            m--;
            i--;
        }
    }
}
int main()
{
    int b[] = {1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 8, 9, 10, 10};
    ARR v(b, sizeof(b) / sizeof(b[0]));
    v.show();
    v.delsame();
    v.show();
    return 0;
}

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-23 19:44
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
提个意见,大家贴程序求助或者帮求助者修改程序,特别是整段整段的,最好注释一下,你改动了什么地方,别人的错的什么地方。

谢谢合作,o(∩_∩)o...

Fight  to win  or  die...
2008-03-23 20:00
bestcln
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
得分:0 
呵呵.知道了.太大意了
2008-03-23 20:06
bestcln
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
得分:0 
恩.同意.我对着程序查了半天才,找到的.不过,还是谢谢楼上的两位大哥了
2008-03-23 20:08
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
谢谢斑竹的建议。。。不过我这个好像又没注意。。下次改。。。呵呵
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
template <class T>
class ARR
{
    int m;
    vector<T> vec ;
    vector<T>::iterator it;
public:
    ARR(T a[],int size)
    {
     vector<T> vec1(a,a+size);
     vec=vec1;
    }
    void delsame()
    {
        sort(vec.begin(),vec.end());
        it=unique(vec.begin(),vec.end());
        vec.erase(it,vec.end());
    }
    void show()
    {   
        for(vector<int>::iterator iter=vec.begin(); iter!=vec.end();iter++)
        {
            cout<<*iter<<"\t";            
        }
        cout<<endl;
    }
};

int main()
{
    int b[]={1,2,2,3,3,4,4,5,6,6,7,7,8,8,9,10,10};
    ARR<int> v(b,sizeof(b)/sizeof(b[0]));
    v.show();
    v.delsame();
    v.show();
    return 0;
}

学习需要安静。。海盗要重新来过。。
2008-03-23 20:20
bestcln
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
得分:0 
不好意思.这个程序的目地是删除序列中的想同的数.但是结果没有把删除的结果显示出来啊
2008-03-23 20:36
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
我的是把删除过后的结果显示出来。。结果是1。。。10

学习需要安静。。海盗要重新来过。。
2008-03-23 20:39
bestcln
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-11
收藏
得分:0 
非常感谢
2008-03-23 20:42
快速回复:新学C++,有个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018084 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved