Code:
#include <fstream.h>
int main(void) {
int I,J,N,M,Z,
Vel[1000],Cijena[1000],Zarada[1000];
ifstream Ulaz("UTOVAR.IN"); ofstream Izlaz("UTOVAR.OUT");
Ulaz>>M>>N;
for(J=1;J<=N;J++){
Ulaz>>Vel[J];
}
for(J=1;J<=N;J++)
{
Ulaz>>Cijena[J];
}
for(I=0;I<=M;I++)
{
Zarada[I]=0;
}
for(J=1;J<=N;J++)
for(I=Vel[J];I<=M;I++) {
Z=Zarada[I-Vel[J]]+Cijena[J];
if(Zarada[I]<Z) Zarada[I]=Z;
}
Izlaz<<Zarada[M];
return 0;
}
#include <fstream.h>
int main(void) {
int I,J,N,M,Z,
Vel[1000],Cijena[1000],Zarada[1000];
ifstream Ulaz("UTOVAR.IN"); ofstream Izlaz("UTOVAR.OUT");
Ulaz>>M>>N;
for(J=1;J<=N;J++){
Ulaz>>Vel[J];
}
for(J=1;J<=N;J++)
{
Ulaz>>Cijena[J];
}
for(I=0;I<=M;I++)
{
Zarada[I]=0;
}
for(J=1;J<=N;J++)
for(I=Vel[J];I<=M;I++) {
Z=Zarada[I-Vel[J]]+Cijena[J];
if(Zarada[I]<Z) Zarada[I]=Z;
}
Izlaz<<Zarada[M];
return 0;
}
Ono sto ja razumem je sledece, unose se vrednosti u promenljive i nizove,i onda ovaj deo koda nikako ne razumem
Code:
for(J=1;J<=N;J++)
for(I=Vel[J];I<=M;I++) {
Z=Zarada[I-Vel[J]]+Cijena[J];
if(Zarada[I]<Z) Zarada[I]=Z;
}
for(J=1;J<=N;J++)
for(I=Vel[J];I<=M;I++) {
Z=Zarada[I-Vel[J]]+Cijena[J];
if(Zarada[I]<Z) Zarada[I]=Z;
}
Zamolio bih nekog da mi objasni taj algoritam koji izvrsava gore navedeni kod,i da li imate neku preporuku o knjizi za algoritme posle koje cu moci da savladam ovakve stvari bez vase pomoci?