나는 프로그래밍에 대해 배우려고하는 학생이며 이전에 복잡한 코딩을 한 번도 해보지 않았습니다. 최근에 저의 강사가 북서쪽 코너 방법에 대한 저에게 과제를주었습니다. 나는 인터넷에서 발견 된 코드를 따라 갔지만, 아직도 초보자 인만큼 알아낼 수없는이 코드에는 몇 가지 문제가있는 것으로 보인다. 나는 약간의 수치를했지만 여전히 문제가 무엇인지 파악할 수 없었고 코딩에 많은 문제가 있다는 것을 확신합니다. 코딩에 대해 기꺼이 알아 보는 사람들에게 정말 감사드립니다. 미리 감사드립니다. :)북서쪽 방법을 코딩하는 방법
#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;
}
아마도 더 잘 작동 할 것입니다. 책을 읽고,하고있는 일을 배우고, 처음부터 직접 코딩하십시오. 그렇다면 인터넷에서 무언가를 찾아 내고 그 의미를 파악하는 대신에 무엇을 의미하는지 알게 될 것이기 때문에 실제로 디버깅하는 방법을 알 수있는 좋은 코드를 작성할 것입니다. – Colleen
그래서,이 코드는 무엇을하기로되어 있는데, 무엇이 문제입니까? –
"들여 쓰기"에 대해 배우십시오 - 코드를 훨씬 쉽게 읽을 수 있습니다! –