注册 登录
编程论坛 C++教室

这个具体一个怎么操作?

l923912586 发布于 2018-12-20 09:03, 1038 次点击
只有本站会员才能查看附件,请 登录
1 回复
#2
rjsp2018-12-20 09:42
你总得说说你哪里不会吧

程序代码:
bool foo( size_t row, size_t col, double* arr, size_t& r, size_t& c )
{
    for( c=1; c<col && arr[c]<=0; ++c );
    if( c >= col )
        return false;

    r = 0;
    double minval;
    for( size_t i=1; i<row; ++i )
    {
        if( arr[i*col+c] > 0 )
        {
            double val = arr[i+col+0] / arr[i*col+c];
            if( r==0 || val<minval )
            {
                r = i;
                minval = val;
            }
        }
    }
    return r!=0;
}

#include <iostream>
using namespace std;

int main( void )
{
    double arr[] = { 0,-1,3,-2, 7,3,-1,2, 12,-2,4,0, 10,-4,3,8 };

    size_t r, c;
    if( foo(4,4,arr,r,c) )
        cout << r << ' ' << c << endl;
}

1