VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 669|回复: 4

实用c++ 第22课 地址与指针 小作业

[复制链接]
08_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-17 16:32:54 | 显示全部楼层 |阅读模式
实现一个函数,作用是获取一个数组中的最大值和最小值,函数声明如下:
void get_min_max(int src[], int* max_v, int* min_v)
{
        //函数代码写在这个下面
}

我写的代码如下:
#include <iostream>
using namespace std;

void get_min_max(int src[], int* max_v, int* min_v)
{
        max_v = min_v = src;
        for (int i=1; i<10; i++)
        {
                cout << src[i] << '\t' <<*max_v << "\t" << *min_v  << endl;
                *max_v =(( src[i] > *max_v) ? src[i] : *max_v);
                *min_v =(( src[i] > *min_v) ? *min_v : src[i]);
        }              
}

int main()
{
        int src[] = { 1,2,3 ,9,4,0,7,8,6,5};
        int * max_v, * min_v;
        max_v = min_v = src;
        get_min_max(src, max_v, min_v);
        cout << "*max_v:"<<*max_v << "\t" <<"*min_v:"<< *min_v<<endl;
        return 0;
}


得不到的结果,求伙伴们指教啊


运行结果:

运行结果:




上一篇:关于自定义截图图片深度
下一篇:关于队列问题的请教
15_avatar_middle
最佳答案
6 
online_vip 发表于 2020-4-17 17:24:11 | 显示全部楼层
  1. // 因为改变指针地址,所以需要指针的指针或者引用
  2. void get_min_max(int src[], int*& max_v, int*& min_v)
  3. {
  4.         //max_v = min_v = src;
  5.         for (int i=1; i<10; i++)
  6.         {   
  7.                 // 改变max_v min_v地址 不是改变数组里面的值
  8.                 max_v =(( src[i] > *max_v) ? &src[i] : max_v);
  9.                 //if(max_v == &src[i]) continue;

  10.                 // 你这个只是改变数组首个元素的值
  11.                 //*max_v =(( src[i] > *max_v) ? src[i] : *max_v);
  12.                 //*min_v =(( src[i] > *min_v) ? *min_v : src[i]);

  13.                 min_v =(( src[i] > *min_v) ? min_v : &src[i]);
  14.                 cout << src[i] << '\t' <<*max_v << "\t" << *min_v  << endl;
  15.         }              
  16. }
复制代码

用排序方法即可方便得到结果
57_avatar_middle
最佳答案
25 
在线会员 发表于 2020-4-17 18:03:15 | 显示全部楼层
建议在每行代码旁边注释一下该行代码的作用是什么,再思考一下和原本的目的是否一样。
例如:
int src[] = { 1,2,3 ,9,4,0,7,8,6,5};//定义一个数组,数组内0-9乱序填充
08_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-17 20:39:44 | 显示全部楼层
JLDawson 发表于 2020-4-17 18:03
建议在每行代码旁边注释一下该行代码的作用是什么,再思考一下和原本的目的是否一样。
例如:
int src[]  ...

说得很有道理,谢谢你啊!
08_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-17 20:41:29 | 显示全部楼层
jadeshu 发表于 2020-4-17 17:24
用排序方法即可方便得到结果

厉害厉害!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-6-4 17:52

Powered by CcTry.CoM

© 2009-2021 cctry.com

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