Witam, mam problem z moim programem. Wykonuję zadanie na studia na podstawie tego: http://sasni.eu/archives/162-badania-operacyjne-zagadnienia-transportowe-solver.html i zrobiłem program, który rozwiązuje to metodą kąta polnocno zachodniego. Zrobilem to jednak tylko dla z gory okreslonej ilosci kolumn i wierszy. Chcialbym jednak, zeby ta ilosc zostala wczytywana z klawiatury i tu pojawia sie problem. Ogladalem filmy pana Miroslawa, jednak nie udaje mi sie zastosowac wskaznikow w programie(a chyba tym sposobem powinno to zostac rozwiazane?).
probowalem tez po prostu dodac zmienne int w (jako wiersze) i int k(kolumny), lecz wtedy przy odpelniu program sie wysypuje.
Probowalem tez za pomoca wskaznika w nastepujacy sposob:
int *x; //tablica kosztow
x=new int [ilew];
x=new int [ilek];
ale niestety wyskakuje blad : invalid types int[int] for array subscript
oto caly moj kod programu: (dzialajaca wersja, jednak z odgorna wielkoscia tabeli)
#include <iostream>
using namespace std;
int main()
{
int x[3][4]; //tablica kosztow
int b[4]; //tablica zapotrzebowan piekarn
int a[3]; //tablica oferowanych dostaw przez magazyny
int nowa[3][4];//tablica do ktorej beda wstawiane optymalne wielkosci
cout<<"wstaw do tabeli jednostkowe koszty transportu "<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
{
cout<<"podaj wartosc x["<<i<<"]["<<j<<"] :";
cin>>x[i][j];
cout<<endl;
}
}
cout<<"podaj oferowane miesieczne wielkosci dostaw przez kolejne magazyny ( w tonach)"<<endl;
for(int i=0; i<3; i++)
{
cout<<"podaj a["<<i<<"]:";
cin>>a[i];
cout<<endl;
}
cout<<"Podaj zapotrzebowanie piekarn (w tonach): "<<endl;
for(int j=0; j<4; j++)
{
cout<<"podaj b["<<j<<"]:";
cin>>b[j];
cout<<endl;
}
cout<<"Tablica kosztow "<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
{
cout<<x[i][j]<<" ";
}
cout<<endl;
}
cout<<"Miesieczne wielkosci dostaw oferowane przez kolejne magazyny: "<<endl;
for(int i=0; i<3; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"Miesieczne zapotrzebowanie piekarn w tonach: "<<endl;
for(int j=0; j<4; j++)
{
cout<<b[j]<<" ";
}
cout<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
{
if (b[j]<=a[i])
{
nowa[i][j]=b[j];
a[i]=a[i]- b[j];
b[j]=0;
}
else {
nowa[i][j]=a[i];
b[j]=b[j]-a[i];
a[i]=0;
}
}
}
cout<<"nowa tablica - metoda kata polnocno-zachodniego "<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
{
cout<<nowa[i][j]<<" ";
}
cout<<endl;
}
int suma=0;
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
{
if(nowa[i][j]!=0)
suma=suma+nowa[i][j]*x[i][j];
}
cout<<endl;
}
cout<<"Przy nastepujacym rozwiazaniu koszty to: "<<suma;
return 0;
}
Dziekuje za pomoc