gpt4 book ai didi

c++ - 如何编写此西北方法的代码

转载 作者:行者123 更新时间:2023-11-28 07:37:14 24 4
gpt4 key购买 nike

<分区>

我是一名正在尝试学习编程的学生,之前从未编写过任何复杂的代码。最近我的讲师给了我一个关于西北角方法的任务。我遵循了在 Internet 上找到的代码,但是这段代码似乎存在一些我无法弄清楚的问题,因为我还是个初学者。我做了一些阅读,但我仍然无法弄清楚问题是什么,并且我很确定编码存在很多问题。我真的很感谢那些愿意看一下编码的人。提前致谢。 :)

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

using namespace std;

#include <iostream>
#include <fstream>

const int row_max =4;
const int col_max =4;
int i,j;

//create supply_array and require_array
float supply_array[row_max];
float require_array[col_max];

//creating the cost matrix and unit matrix
float cost_matrix[row_max][col_max];
float unit_matrix[row_max][col_max];

//initialize cost_matrix

int main()
{
for(i=0 ; i<=row_max ; i++)
{
for(j=0 ; j<=col_max ; j++)
{
cin >> cost_matrix[i][j];
}
}

//initialize unit_matrix
for(i=0 ; i<=row_max ; i++)
{
for(j=0 ; j<=col_max; j++)
{
unit_matrix[i][j]=0;
}
}

float cost_minimal= 0.0;
float *supply_ptr;
float *require_ptr;
supply_ptr = &supply_array[4];
require_ptr = &require_array[4];

//initialize supply_array
for(i=0 ; i<=row_max ; i++)
{
cin >> supply_array[i];
}

//initialize require_array
for(i=0 ; i<=col_max; i++)
{
cin>>require_array[i];
}

float *matrix_ptr;
matrix_ptr = &cost_matrix[0][0];
int r=0,c=0,x=0,y=0;
while((x<= row_max) &&( y=col_max))
{
if(*require_ptr>*supply_ptr)
{
unit_matrix[x][y]=supply_array[x];
require_array[y]=require_array[y]-unit_matrix[x][y];
supply_array[x]=supply_array[x]-unit_matrix[x][y];
cost_minimal=cost_minimal+unit_matrix[x][y];
x=x+1;
supply_ptr=supply_ptr+1;
matrix_ptr=matrix_ptr+col_max;

continue;
}

if(*require_ptr<*supply_ptr)
{
unit_matrix[x][y]=require_array[y];
require_array[y]=require_array[y]-unit_matrix[x][y];
supply_array[x]=supply_array[x]-unit_matrix[x][y]*cost_matrix[x][y];
y=y+1;
x=x+1;
require_ptr=require_ptr+1;
supply_ptr=supply_ptr+1;
matrix_ptr=matrix_ptr+col_max;

continue;
}
}

//displaying the unit matrix
for(i=0;i<=row_max;i++)
{
for(j=0;j<=col_max;j++)
{
cout<<unit_matrix[i][j];
}
}

//displaying the minimal cost
cout<< "the minimal cost obtained is : "<<cost_minimal;
return 0;
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com