初级数组问题。。。阿门。。

rivershan 2006-03-21 02:57:48
一个CUIntArray, 随机填充nSize个1-9的数字,想要知道有多少个数字是不重复的?
比如:
1 3 4 9 3 2 2 3 5 6 7 1 4

13个数字,8种不重复的。。。

...全文
239 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Stefine 2006-03-21
  • 打赏
  • 举报
回复
(答案为4时)
#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);
}

呵呵,出丑了
Stefine 2006-03-21
  • 打赏
  • 举报
回复
自己狂晕ing
再发下(答案为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);
}
rivershan 2006-03-21
  • 打赏
  • 举报
回复
呃,就是出现多少种数字。。
Stefine 2006-03-21
  • 打赏
  • 举报
回复
int a[9];
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;

毛毛的想法,看要得不
wawaku 2006-03-21
  • 打赏
  • 举报
回复
int n = 0;
for(int i=1;i<=9;i++)
{
for(int j=0;j<13;j++)
{
if(a[j] == i)
{
n++;
break;
}//刚刚落了一句^_^
}
}

这样才对,晕晕
handsomerun 2006-03-21
  • 打赏
  • 举报
回复
楼主的意思是不是说,一个数组里面,总共出现了多少种数字呢???

像楼主的这个例子,就是出现了12345679这八种数字

这样的话,可以定义一个长度为9的数组
int a[9],每个元素初始化为0

a[0]存储1出现的次数,a[1]存储2出现的次数

只要遍历你的CUIntArray,找到一个数,就在a数组里面给相对的元素加1
最后看a[9] 这个数组里面有多少个不为0的元素,不就可以了
Jimmy_Xia 2006-03-21
  • 打赏
  • 举报
回复
一个CUIntArray, 随机填充nSize个1-9的数字,想要知道有多少个数字是不重复的?
比如:
1 3 4 9 3 2 2 3 5 6 7 1 4

13个数字,8种不重复的。。。
=========================================
请恕小弟眼拙,我怎么看都看不出8种不重复的在哪里?1、2、3、4是重复的,其他就9、5、6、7没有重复,那么这个8怎么出来的呢?楼主,你问题没有描述清楚,俺们怎么回答啊?
wawaku 2006-03-21
  • 打赏
  • 举报
回复
for(i=0;i<9;i++)
{
for(j=0;j<13;j++)
{
if(a[j] == i)
n++;
break;//刚刚落了一句^_^
}
}
wawaku 2006-03-21
  • 打赏
  • 举报
回复
To:thisisll(速度八十迈) ( ) 信誉:107

经大哥一说,我倒晕了,他是意思是出现了几种不同的数字?
我的理解是最少0,最多9,所以我做了上面的做法,不知行否?
wawaku 2006-03-21
  • 打赏
  • 举报
回复
假设你已填充好。(随便ran出来就行)

int n = 0;//最后就是n种不重复的数字
for(i=0;i<9;i++)
{
for(j=0;j<13;j++)
{
if(a[j] == i)
n++;
}
}
thisisll 2006-03-21
  • 打赏
  • 举报
回复
1 3 4 9 3 2 2 3 5 6 7 1 4
这些数字9 5 6 7没重复啊
其他的我看都重复了啊
rivershan 2006-03-21
  • 打赏
  • 举报
回复
这种方法要实现我需要的填充还是不行。。。nnd
麻烦啊。。。
rivershan 2006-03-21
  • 打赏
  • 举报
回复
大王,好像结果不对?
蒋晟 2006-03-21
  • 打赏
  • 举报
回复
CUIntArray a;
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++;
}
内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路中的应用与实现。文中详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(中性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文中仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档中涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧