Kezdőoldal » Számítástechnika » Programozás » Egy c programozózó segit...

Egy c programozózó segit elkésziteni ezt a nem túl egyszerü programot?

Figyelt kérdés

A feladat:


Jani egy olyan játékkal játszik amelyk akkor engedi tovább a következő szintre, ha egy robot, amelyk az 1-es sorban elhelyez eljut az n-edik sorra úgy, hogy közben a 2,3,...,n sorból valamelyk cellára lép. A játék tartalmaz egy n sorból és m oszlopból álló téglalap alakú területet, amelyen a robot mozoghat. Mindegyik [i],[j] cella egy c[i][j] természetes számot tartalmaz. Tudjuk azt, hogy ha robot az [i,j] pozicioban all és az energiája szigoruan pozitiv, akkor elléphet az [i+1,j-1],[i+1,j] vagy [i+1,j+1] valamelykébe - persze csak akkor, ha az adott poziciok léteznek. Az [i1,j1] pozicióból az [i2,j2], pozicioba valo eljutashoz a robot az energiajbol elveszit c[i1,j1]-c[i2,j2] egységet.


Követelmények


Irjatok programot, amelyk Jani számára meghatározza az összes olyan kezdőpoziciót az 1-es sorban, amelyekből kiindulva szigoruan pozitiv energiaértékel lehet eljutni az n-edik sorba, hogy a játék következő szintjére kerülhessen. Ha egyetlen olyan utvonal sem létezik, amelyen az n-dik sorba szigoruan pozitiv energiaértékel el lehet jutni, akkor a -1 értéket kell irni megoldásnak.


Bemeneti adatok

A robot.in állomány tartalma:

-1-es sorban, szóközel egymástól elválasztva a p,n és m számok, a jelentésük pedig az 1-es sorban a robot energiájának értéke, illetve a játéktábla sorainak és oszlopainak a száma.

-a következő n sorban pedig egymástól szóközel elválasztva m szám található, a játéktábla c[i,j] cellájának értékei.


Kimineti adatok

A robot.out kimeneti állomány tartalmazza, növekvő sorrendben, egymástól szóközel elválasztva az első sor azon oszlopsorszámait, ahova Jani elhelyezheti a robotot úgy, hogy az n-edik sorba szigoruan pozitiv energiaértékel jusson el.


Megkötések és Pontositások

*A bemeneti állomanyan lévő adatok term. számok

*0<p<=30000

1<=n<=200,1<=m<=200

0<=c[i,j]<=30000


Példa


robot.in tartalma:

100 4 4

10 80 60 90

70 190 110 50

100 150 280 60

135 135 260 100


robot.out tartalma:

2 3 4


Magyarázat


Az 1. sor 2,3 vagy 4. oszlopábol kiindulva a robot az n-edik sorba egy szigoruan pozitiv energiaértékel juthat el.


Példa 2


robot.in tart:

20 5 4

10 30 20 50

20 20 20 50

10 40 50 100

20 20 30 100

50 40 20 70


robot.out tartalma:

-1


Magyarázat

Az 1-es sorból bármely oszlopból is indulna, a robot nem tud eljutni szigoruan pozitiv energiaértékel.



2013. febr. 23. 18:28
 1/4 A kérdező kommentje:

Jelenleg annyit csináltam, hogy feltöltöttem a robot.in-t n sorú és m oszlopú mátrixal. Csak a forditoprogram ezt a hibajelzest kuldte vissza 7 C:\Documents and Settings\Black In\My Documents\robot.cpp cannot convert `FILE*' to `const char*' for argument `1' to `FILE* fopen(const char*, const char*)'

A forráskód amit eddig csináltam.

#include<stdio.h>

#include<conio.h>

int i=0,j=0,m,n,p,c[200][200];

FILE *f,*g;

int main()

{

f=fopen(f,"robot.in","r");

g=fopen(g,"robot.out","w");

fscanf(f,"%d",&p);

fscanf(f,"%d",&n);

fscanf(f,"%d",&m);

fclose(f);

printf("Toltsd fel a jatektablat ahol a robot mozoghat");

f=fopen(f,"robot.in","w");

fprintf(f,"\n");

for(i;i<n;i++)

{

for(j;j<m;j++)

{


printf("c[%d][%d]=",i,j);

scanf("%d",c[i][j]);

if(c[i][j]==feof(f)-1)

fprintf(f,"%d",c[i][j]);

else

fprintf(f,"%d ",c[i][j]);

if(i==i++)

fprintf(f,"\n");

}

}

fclose(f);

fclose(g);

getch();

}

2013. febr. 23. 18:34
 2/4 anonim ***** válasza:

Ez egy elég nagy témakör, érdemes lenne beleásnod magad a mesterséges intelligencián belül a gráf és fa struktúrák bejárásába, útkeresésbe, kereső algoritmusokba, stb...


Pl.

www.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2009/podobni_katalin.pdf


Vagy gugliba: útkereső algoritmusok

2013. febr. 28. 09:56
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Talán most jó lesz:

www.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2009/podobni_katalin.pdf

2013. febr. 28. 09:57
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
thanks :D
2013. márc. 1. 15:54

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!