编程论坛's Archiver

blue2418 发表于 2008-6-9 22:39

Thanks

panpengpeng 发表于 2008-6-10 11:49

下了,学习学习

Angell 发表于 2008-6-12 07:03

顶!  谢了!

辛令超 发表于 2008-6-12 09:28

不错,啊 !

ruohui 发表于 2008-6-13 21:57

谢谢,学习!

liuyc 发表于 2008-6-13 22:03

[em17] 谢谢!

supermacz 发表于 2008-6-17 12:35

ding  谢谢诶

MODIFIER 发表于 2008-6-17 16:10

第一次进论坛,原来这里面有这么多好东东啊。太棒了。谢谢啊。

zhouyanshi 发表于 2008-6-17 21:15

好东西看看

chguolzhgr 发表于 2008-6-18 08:31

zhen真厉害!!!

klk2008 发表于 2008-6-18 11:16

下了,学习一下,谢谢了

hongwu147 发表于 2008-6-18 16:00

thank you

litfish 发表于 2008-6-19 11:29

谢谢

希望大家都能够把好的东西共享

dlmt008 发表于 2008-6-20 19:18

ding 谢谢

zeng865223 发表于 2008-6-20 20:28

楼主你太有才了。

婷儿 发表于 2008-6-21 09:25

请各位高手,帮忙看看这道题。帮帮帮我这新手

要求用C++语言编程,在Visual C++环境下调试完成;
三、设计方法和基本原理
1.        课题功能描述
若某两个数字分别为:1357.8902和53.639742,则在交叉因子0110.110011的控制下,两个新的数字分别为1057.630242和353.8997,即交叉因子为“1”的那位进行交换,而为“0”的那位两个数字不进行交换。
现在要求做一个整数最多为4位,小数位最多为6位情况下,要求显示输入随机生成的两个数字以及一个交叉因子,在随机生成的交叉因子控制下实现两个数字的交叉,并将交叉结果输出。
2.        问题的解决方案:
将读入的两个小于10000的实型数据分别存储到两个整型数组中,数组中每个元素都是0~9的整数,对于上面给出的例子存储结果如下:
1        3        5        7        8        9        0        2        0        0
0        0        5        3        6        3        9        7        4        2
使用随机函数生成交叉因子,即如下形式
0        1        1        0        1        1        0        0        1        1
然后在交叉因子控制下完成数据交换。
最后将交换后的数组重新整和成为两个实数。
四、创新要求
在基本要求达到后,进行创新设计,对随机生成的20个数据,随机选择m对数据进行数据交叉。

婷儿 发表于 2008-6-21 09:26

我写了一个程序,不知对不对,望指正

#include<iostream.h>
#include<stdlib.h>
void main()
{
double m,n;
cin>>m>>n;
int d,e,g,a[10],b[10],c[10];
for(int i=0;i<4;i++)
{
a[i]=int(m)%10;
m/10;
}
for(i=0;i<2;i++)
{
d=a[i];
a[i]=a[4-1-i];
a[4-1-i]=d;
}
for(i=0;i<4;i++)
cout<<a[i];
for(i=4;i<10;i++)
{
m=m-int(m);
a[i]=int(m*10);
m=m*10;
}
for(i=4;i<10;i++)
cout<<a[i];
cout<<endl;
for(int j=0;j<4;j++)
{
b[ij=int(n)%10;
n/10;
}
for(j=0;j<2;j++)
{
e=b[j];
b[j]=b[4-1-j];
b[4-1-j]=e;
}
for(j=0;j<4;i++)
cout<<a[i];
for(j=4;j<10;j++)
{
n=n-int(n);
b[j]=int(n*10);
n=n*10;
}
for(j=4;j<10;j++)
cout<<b[j];
cout<<endl;
for(int k=0;k<10;k++)
{
c[k]=rand()%2;
cout<<endl;
for(k=0;k<10;k++)
if(c[k]==1)
{
g=a[k];
a[k]=b[k];
b[k]=g;
}
for(i=0;i<4;i++)
cout<<a[i];
cout<<".";
for(i=4;i<10;i++)
cout<<a[i]<<endl;
for(j=0;j<4;j++)
cout<<b[j];
cout<<".";
for(j=4;j<10;j++)
cout<<b[j]<<endl;

senhor 发表于 2008-6-21 14:50

[tk02] 还不错!!!

紫蓝色 发表于 2008-6-25 00:06

好东西,就应该顶上来~~

一秋水长天 发表于 2008-6-25 21:43

很好。

页: 1 2 3 4 5 [6] 7 8

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.