| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 938 人关注过本帖
标题:求大佬们看一下这一题,一脸懵逼
只看楼主 加入收藏
大米粥粥
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-11-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
求大佬们看一下这一题,一脸懵逼
实现一维数组的简单选择排序,要求:
(1) 数组元素输入数据的方式分别由2个用户自定函数来实现,一个由用户来输入每个数据,一个由系统自动产生一组随机数
(2) 数组元素的输出由函数来实现
(3) 定义简单选择排序函数
(4) 定义2个函数,实现顺序、折半查找某个整数是否在该数列中,是,给出所在的位置,不是,给出投找到。
(5) 在main函数中定义一个数组,提示用户采用哪种输入方式产生数据,并实现之,同时在屏幕上打印数据的初始序列值。
(6) 提示用户排序(升序或降序),将排序后的序列打印输出
(7) 查找某数是否存在
搜索更多相关主题的帖子: 输入 数据 用户 函数 定义 
2017-11-22 09:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
自己的作业自己完成

程序代码:
#include <iostream>
#include <algorithm>
#include <functional>
#include <random>
using namespace std;

// (1) 数组元素输入数据的方式分别由2个用户自定函数来实现,一个由用户来输入每个数据,一个由系统自动产生一组随机数
size_t user_input( int array[], size_t maxsize )
{
    size_t size = 0;
    //for( ; maxsize!=size && cin>>array[size]; ++size );
    return size;
}
void random_generation( int array[], size_t maxsize )
{
    // http://en.
}

// (2) 数组元素的输出由函数来实现
void print_array( const int array[], size_t size )
{
    // std::copy( array, array+size, std::ostream_iterator(cout," ") );
}

// (3) 定义简单选择排序函数
void select_sort( int array[], size_t size, bool descending_order )
{
    //descending_order ? std::sort(array,array+size,std::greater<int>()) : std::sort(array,array+size);
}

// (4) 定义2个函数,实现顺序、折半查找某个整数是否在该数列中,是,给出所在的位置,不是,给出投找到。
void array_find( const int array[], size_t size, int value )
{
    // std::find( array, array+size, value );
}
void array_binarysearch( const int array[], size_t size, bool descending_order, int value )
{
    // descending_order ? std::binary_search(array,array+size,value,std::greater<int>()) : std::binary_search(array,array+size,value);
}

int main( void )
{
    // (5) 在main函数中定义一个数组,提示用户采用哪种输入方式产生数据,并实现之,同时在屏幕上打印数据的初始序列值。
        cout << "请选择 1.用户输入数据, 2.随机生成: ";
        int input_option;
        if( !(cin>>input_option) || (input_option!=1 && input_option!=2) )
            return 1;

        int array[100];
        size_t array_size = std::size(array); // sizeof(array)/sizeof(*array)
        if( input_option == 1 )
            array_size = user_input( array, array_size );
        else
            random_generation( array, array_size );
        print_array( array, array_size );

    // (6) 提示用户排序(升序或降序),将排序后的序列打印输出
        cout << "请选择 1.升序, 2.降序: ";
        int sort_option;
        if( !(cin>>sort_option) || (sort_option!=1 && sort_option!=2) )
            return 1;

        select_sort( array, array_size, sort_option==2 );
        print_array( array, array_size );

    // (7) 查找某数是否存在
        cout << "请输入待查询的数: ";
        int element;
        if( !(cin>>element) )
            return 1;
        array_find( array, array_size, element );
        array_binarysearch( array, array_size, sort_option==2, element );

    return 0;
}

2017-11-22 13:35
快速回复:求大佬们看一下这一题,一脸懵逼
数据加载中...
 
   



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

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