先发一段代码
#include<iostream.h>
void main()
{
int x[10]={1,3,5,6,8,3,5,6,6,6};
int k=0;
for(int i=0;i<9;i++)
{
for(int j=i+1;j<10;j++)
{
if(x[i]==x[j])
{
k=i+1;
x[j]=x[k];
x[k]=x[i];
}
}
}
    for(int a=0;a<10;a++)
{cout<<x[a]<<'\n';}}
这段码的功能是把数组中的重复数字放在一起。
我要问的是,如何把那个整型数组换成字符串数组并完成相同的功能 ?
我不是太懂字符串数组
还有要能够在MFC中用哦。。
谢谢各位高手哦

解决方案 »

  1.   

    差不多,字符串也能够比较的。
    CString str[4]={"123","456","123","qbc"};
    int k;
    for(int i=0;i<3;i++)
    {
    for(int j=i+1;j<4;j++)
    {
    if(str[i]==str[j])
    {
    k=i+1;
    str[j]=str[k];
    str[k]=str[i];
    }
    }
    }
      

  2.   

    樓上的.CSTRING 要包含什么頭文件?
      

  3.   

    幫忙看一個函數,功能是把字符串數組中的重復字符串復製到另一個字符串中并計數。我調試沒有問題,可是運行就出錯了。
    字符串數組X已經定義
    void CDuplicate_beta3Dlg::OnButton2() 
    {
    int i,j,k;
    int c=1;
    for(i=0;i<9;i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(strcmp(x[i], x[j])==0)
    {
    k=i+1;
    x[j]=x[k];
    x[k]=x[i];
    }
    }
    }
    char  *y[10]={'\0'};
        for(i=0;i<10;i++)
    {if (strcmp(x[i+1],x[i])!=0)
    {
    strcpy(y[j],x[i]);UpdateData(TRUE); 
    CString str; 
    str=y[j];
    m_strEdit = m_strEdit + str; 
    m_strEdit+="\r\n";
    CString str2("重复次数为"); 
    m_strEdit = m_strEdit + str2;
    CString str1;
    str1.Format("%d\r\n", c); 
    m_strEdit = m_strEdit + str1; 
    UpdateData(FALSE); 
    c=1;
    j++;
    }
    else
    c++;
    }
    }
      

  4.   

    这段码
    void CDuplicate_beta3Dlg::OnButton2() 
    {
    int i,j,k;
    int c=1;
    for(i=0;i<9;i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(strcmp(x[i], x[j])==0)
    {
    k=i+1;
    x[j]=x[k];
    x[k]=x[i];
    }
    }
    } int count[5]={0};
        int a=0,b=0;
    j=0;
        for(i=0;i<10;i++)
    {if (strcmp(x[i+1],x[i])==0)
    {y[j]=x[i];
        c++;
    }
        else
    {j++;
        if(c!=1){count[a++]=c;
    }    c=1;
    }
    }
     
    CString str1,str3; 
    for(k=0; k<10; k++) 

        str1=y[k];
        if(y[k]!='\0'){
    m_strEdit = m_strEdit + str1;
    m_strEdit+="\r\n";
        CString str2("重复次数为"); 
        m_strEdit = m_strEdit + str2;
        str3.Format("%d\r\n", count[b++]);
        m_strEdit = m_strEdit + str3;
    }
     

    UpdateData(FALSE);
    }
      

  5.   

    #include "stdafx.h"
    #include <iostream.h>
    void main()
    {
    char* str[5]={"123","456","123","qbc","1234"};
    int k;
    for(int i=0;i<3;i++)
    {
    for(int j=i+1;j<4;j++)
    {
    if(str[i]==str[j])
    {
    k=i+1;
    str[j]=str[k];
    str[k]=str[i];
    }
    }
    }

    }
      

  6.   

    VC/MFC中不用包含什么特殊头文件,直接写就可以了。