![]() |
#2
rjsp2017-11-22 13:35
自己的作业自己完成
![]() #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; } |
(1) 数组元素输入数据的方式分别由2个用户自定函数来实现,一个由用户来输入每个数据,一个由系统自动产生一组随机数
(2) 数组元素的输出由函数来实现
(3) 定义简单选择排序函数
(4) 定义2个函数,实现顺序、折半查找某个整数是否在该数列中,是,给出所在的位置,不是,给出投找到。
(5) 在main函数中定义一个数组,提示用户采用哪种输入方式产生数据,并实现之,同时在屏幕上打印数据的初始序列值。
(6) 提示用户排序(升序或降序),将排序后的序列打印输出
(7) 查找某数是否存在

