木板容量问题

 

1、水桶问题

#include <iostream>
#include <vector>

using namespace std;

int simple_counter(std::vector<int>* s_sample)
{
    int max_s=0;
    int temp_s=0;
    int compacity=0;
    for(int i=0;i<s_sample->size()-1;i++)
    {
       max_s=max(max_s,(*s_sample)[i]);
       temp_s = min(max_s,(*s_sample)[i+1]);
       compacity +=temp_s;
    }
    return compacity;
}

std::vector<int> counter(std::vector<std::vector<int>> *sample)
{
    std::vector<int> results;
    int temp_result;
    for(int i=0;i<sample->size();i++)
    {
        temp_result = simple_counter(&((*sample)[i]));
        results.push_back(temp_result);
        cout<<"sample "<<i<<" result :"<<temp_result<<endl;
    }

    return results;
}

int main()
{
    int n_sample,m_column;
    std::vector<std::vector<int>>sample;
    cout<<"please input sample amount"<<endl;
    cin>>n_sample;

    //载入数据
    sample.resize(n_sample);
    for(int i=0;i<n_sample;i++)
    {
        cout<<"please input column amount:"<<endl;
        cin>>m_column;
        cout<<"please input wood amount"<<endl;
        for(int j=0;j<m_column;j++)
        {
            int temp;
            cin>>temp;
            sample[i].push_back(temp);
        }
    }

    //计算并打印
    counter(&sample);

    return 0;
}

2、非齐次线性方程组问题

 

#include <iostream>
#include <vector>
using namespace std;

void solve_mess(double a[][6],int n)
{
    for(int i=0;i<n;i++)
    {
        double fenmu=a[i][0]*a[i][4]-a[i][1]*a[i][3];
        if(fenmu!=0)
        {
            double price1 = (a[i][2]*a[i][4]-a[i][1]*a[i][5])/fenmu;
            double price2 = (a[i][0]*a[i][5]-a[i][2]*a[i][3])/fenmu;

            //判断是否是整数和正数
            if(price1-(int)price1 == 0 && price2 - (int)price2 ==0&&price1>0&&price2>0)
                cout<<price1 <<" "<<price2 <<endl;
            else
                cout<<"unknow "<<endl;
        }
        else
        {
            cout<<"unknow "<<endl;
        }
    }
}


int main()
{
    int n ;
    cout<<"please input sample amount:"<<endl;
    cin>>n;
    double a[n][6];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<6;j++)
        {
            double temp_i;
            cin>>temp_i;
            a[i][j]=temp_i;
        }
    }

    solve_mess(a,n);


}

3、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chengjieno1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值