找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1622|回复: 4

急!!!!!很急!!!!!!

[复制链接]
发表于 2009-11-4 01:02:49 | 显示全部楼层 |阅读模式 IP:江苏扬州
文章结束


2008-6-21 10:44:01 婷儿

等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
第 2 楼   得分: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-6-21 10:45:28 婷儿

等 级:新手上路
帖 子:14
专家分:0
注 册:2008-6-21
第 3 楼   得分: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=int(m)%10;
m/10;
}
for(i=0;i<2;i++)
{
d=a;
a=a[4-1-i];
a[4-1-i]=d;
}
for(i=0;i<4;i++)
cout<<a;
for(i=4;i<10;i++)
{
m=m-int(m);
a=int(m*10);
m=m*10;
}
for(i=4;i<10;i++)
cout<<a;
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;
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;
cout<<".";
for(i=4;i<10;i++)
cout<<a<<endl;
for(j=0;j<4;j++)
cout<<b[j];
cout<<".";
for(j=4;j<10;j++)
cout<<b[j]<<endl;

文章结束

2008-6-21 10:46:16 守鹤

来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
第 4 楼   得分:0  
你的程序好猛啊,
我把编译出现的错误全改正了,既然出现了不可思议的场景
不信你可以试试

文章结束

2008-6-21 14:29:09 守鹤

来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
第 5 楼   得分: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=m/s;
        b=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;
    cout<<endl<<"浮点数m的数组"<<endl;

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

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

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

    return  0;
}

文章结束

2008-6-21 15:51:00 守鹤

来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
第 6 楼   得分: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=m/s;
        b=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;
    cout<<endl<<"浮点数m的数组"<<endl;

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

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

   
    cout<<"交换后的数据显示"<<endl;
    for(i=9;i>=0;i++)
        cout<<a;
    cout<<endl<<"M的显示"<<endl;
发表于 2009-11-4 01:02:51 | 显示全部楼层 IP:江苏扬州
要求用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对数据进行数据交叉。
回复

使用道具 举报

发表于 2009-11-4 01:02:52 | 显示全部楼层 IP:江苏扬州
#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;
回复

使用道具 举报

发表于 2009-11-4 01:02:53 | 显示全部楼层 IP:江苏扬州
你的程序好猛啊,
我把编译出现的错误全改正了,既然出现了不可思议的场景
不信你可以试试
回复

使用道具 举报

发表于 2009-11-4 01:02:54 | 显示全部楼层 IP:江苏扬州
#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;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 23:36 , Processed in 0.196413 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表