| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:急!!!!!很急!!!!!!
只看楼主 加入收藏
婷儿
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
收藏
 问题点数:0 回复次数:6 
急!!!!!很急!!!!!!
帮帮忙
2008-06-21 10:44
婷儿
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
收藏
得分:0 
各位高手,救命啊!!!
要求用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-06-21 10:45
婷儿
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
收藏
得分:0 
我自己写的程序,望指正
#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;
2008-06-21 10:46
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
你的程序好猛啊,
我把编译出现的错误全改正了,既然出现了不可思议的场景
不信你可以试试
2008-06-21 14:29
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
#include<iostream>
using namespace std;

int  main()
{
    double sm,sn;
    cout<<"输入两个浮点数:"<<endl;
    cin>>sm>>sn;
    int a[10],b[10],c[10]={0,1,1,0,1,1,0,0,1,1};
    int  i=0,xchg;            //中间处理数据的i和数据交换的xchg
    double  m,n;                      //保存两个浮点数
      n=sn;m=sm;
         int  s=1000;             //浮点数送数组时一次位的传送
    long int  t=1000000;
    for( i=9;i>=0;i++)
    {
        a[i]=m/s;
        b[i]=n/s;
        m=int(m)%s;
        n=int(n)%s;
        s/=10;
        if(s==0)
        {s=1000000;m=m*t;n=n*t;}
    }   
  

    for( i=9;i>=0;i++)
        cout<<a[i];
    cout<<endl<<"浮点数m的数组"<<endl;

    for(i=9;i>=0;i++)
        cout<<endl<<"浮点数N的数组"<<endl;

    for(i=0;i<=9;i++)
        if(c[i]==1)
        {
            xchg=a[i];a[i]=b[i];b[i]=xchg;
        }

    
    cout<<"交换后的数据显示"<<endl;
    for(i=9;i>=0;i++)
        cout<<a[i];
    cout<<endl<<"M的显示"<<endl;
    for(i=9;i>=0;i++)
        cout<<b[i];
    cout<<endl<<"N的显示"<<endl;

    return  0;
}
2008-06-21 15:51
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
#include<iostream>
using namespace std;

int  main()
{
    double sm,sn;
    cout<<"输入两个浮点数:"<<endl;
    cin>>sm>>sn;
    int a[10],b[10],c[10]={0,1,1,0,1,1,0,0,1,1};
    int  i=0,xchg;            //中间处理数据的i和数据交换的xchg
    double  m,n;                      //保存两个浮点数
      n=sn;m=sm;
         int  s=1000;             //浮点数送数组时一次位的传送
    long int  t=1000000;
    for( i=9;i>=0;i++)
    {
        a[i]=m/s;
        b[i]=n/s;
        m=int(m)%s;
        n=int(n)%s;
        s/=10;
        if(s==0)
        {s=1000000;m=m*t;n=n*t;}
    }   
  

    for( i=9;i>=0;i++)
        cout<<a[i];
    cout<<endl<<"浮点数m的数组"<<endl;

    for(i=9;i>=0;i++)
        cout<<endl<<"浮点数N的数组"<<endl;

    for(i=0;i<=9;i++)
        if(c[i]==1)
        {
            xchg=a[i];a[i]=b[i];b[i]=xchg;
        }

    
    cout<<"交换后的数据显示"<<endl;
    for(i=9;i>=0;i++)
        cout<<a[i];
    cout<<endl<<"M的显示"<<endl;
    for(i=9;i>=0;i++)
        cout<<b[i];
    cout<<endl<<"N的显示"<<endl;

    return  0;
}
2008-06-21 15:51
婷儿
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
收藏
得分:0 
两个都是吗
using namespace std;这是什么意思。非常感谢
2008-06-21 18:50
快速回复:急!!!!!很急!!!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031954 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved