vc++中如何去除重复的数???

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:43:15
a[]={a,h,g,b,c,d,e,a,f,e,g,h,e,}
要求去除重复的
得到数组b[]
并输出重复的个数
安顺序输出a[]中不重复的!!!!!
去掉重复以后
按小写字母排序

#include<iostream>
using namespace std;
int main()
{
char a[]={a,h,g,b,c,d,e,a,f,e,g,h,e},b[14]={0};
int len=13,i=0,j=0,m=0;
for(i=0;i<=13;i++)
{
for(j=0;j<m;i++)
if(a[i]==b[j])
continue;
if(j==m)
{
b[m]=a[j];
m++
}
}
b[m]='\0';
cout<<b;
}

你说的按顺序是说按照a[]中原来的顺序,还是在除重后进行排序,排序后的顺序?b[]是放什么的?是放除重后的元素?还是放出去的重复的元素?

我写了一个,先除重,再排序。排序用的是冒泡。最后结果存放在char* b中(这个也可能当指针用,长度是strlen(b))。滤掉的重复的个数存放在same_num中。看行不?

#include <iostream>

using namespace std;

void sort(char a[], int len) {
int i,j;
char tmp;
for(i = 1 ; i < len ; i++) {
for(j = 0 ; j < len-i ; j++) {
if(a[j] > a[j+1]) {
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}