一个CUIntArray, 随机填充nSize个1-9的数字,想要知道有多少个数字是不重复的?
比如:
1 3 4 9 3 2 2 3 5 6 7 1 413个数字,8种不重复的
比如:
1 3 4 9 3 2 2 3 5 6 7 1 413个数字,8种不重复的
解决方案 »
- 智能指针是不是不能作为函数返回类型?
- 调整ListControl的间隙大小问题
- 如何将PC电脑上的一个目录映射到VS2005/WinCE6.0 模拟器的目录中.
- 求高手解答,用银子奖励。
- 求 big5 转 UTF-8 算法
- 怎么让CTreeCtrl控件默认就展开?
- 请问:如何在EXCEL里插入图象文件和读写图象文件
- 一个学C++的问题.
- 请问由CFileDialog类产生的对话框,其中如何使文件“查找范围”初始时在“网络邻居”上?有什么办法?谢谢!
- 哪位大侠使用VC和数据库比较完美地做过管理系统?交流一下,要分您说话。
- 请问如何在程序运行的时候设置计算机的ip地址?
- 想在C++网络编程上有所成就,苦读并多练《C++程序设计语言》《TCP/IP详解 卷1卷2》《数据结构》《Win32多线程程序设计》《Windows程序设
CMap<UINT,UINT,UINT,UINT> b;
UINT uNumber=0,uCount;
for(int i=0;i<a.GetSzie();i++)
{
if(!b.Lookup(a[i],uCount))
{
b[a[i]]=1;
}
else b[a[i]]=uCount+1;
}
POSITION pos = b.GetStartPosition();
while (pos != NULL)
{
b.GetNextAssoc( pos, uNumber, uCount);
if (uCount == 1)
uNumber++;
}
麻烦啊
for(i=0;i<9;i++)
{
for(j=0;j<13;j++)
{
if(a[j] == i)
n++;
}
}
我的理解是最少0,最多9,所以我做了上面的做法,不知行否?
{
for(j=0;j<13;j++)
{
if(a[j] == i)
n++;
break;//刚刚落了一句^_^
}
}
比如:
1 3 4 9 3 2 2 3 5 6 7 1 413个数字,8种不重复的
=========================================
请恕小弟眼拙,我怎么看都看不出8种不重复的在哪里?1、2、3、4是重复的,其他就9、5、6、7没有重复,那么这个8怎么出来的呢?楼主,你问题没有描述清楚,俺们怎么回答啊?
int a[9],每个元素初始化为0a[0]存储1出现的次数,a[1]存储2出现的次数只要遍历你的CUIntArray,找到一个数,就在a数组里面给相对的元素加1
最后看a[9] 这个数组里面有多少个不为0的元素,不就可以了
for(int i=1;i<=9;i++)
{
for(int j=0;j<13;j++)
{
if(a[j] == i)
{
n++;
break;
}//刚刚落了一句^_^
}
}这样才对,晕晕
int noRepeatNum = 0;for(int j = 0; j < nSize; j++ )
{
for(int i=0; i <9; i++ )
{
if(CUIntArray[j]=i+1)
{
CUIntArray[j]++;
}
if(CUIntArray[j] == 0)
{
noRepeatNum++;
}
}
}return 9- noRepeatNum;毛毛的想法,看要得不
再发下(答案为8时)
#include <stdio.h>
void main()
{
int CUIArray[13] = {1 ,3, 4, 9, 3, 2, 2, 3, 5, 6, 7, 1, 4};
int a[9] ={0};
int noRepeatNum = 0;
int i,j,k;
for( i = 0 ; i< 13; i++)
{
for( j = 0; j < 9; j++ )
{
if(CUIArray[i] == j+1)
{
a[j]++;
}
}
}
for(k=0;k < 9; k++)
{
if(a[k] == 0) noRepeatNum++;
}
printf("No repeated number is %d",9-noRepeatNum);
}
#include <stdio.h>
void main()
{
int CUIArray[13] = {1 ,3, 4, 9, 3, 2, 2, 3, 5, 6, 7, 1, 4};
int a[9] ={0};
int noRepeatNum = 0;
int i,j,k;
for( i = 0 ; i< 13; i++)
{
for( j = 0; j < 9; j++ )
{
if(CUIArray[i] == j+1)
{
a[j]++;
}
}
}
for(k=0;k < 9; k++)
{
if(a[k] == 1) noRepeatNum++;
}
printf("No repeated number is %d",noRepeatNum);
}呵呵,出丑了