• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

ZADANIA Z predmetu PROGRAMOVANIE

Started by psicho, 29.01.2010, 17:40:30

« predchdzajce - alie »

ursus

a ty co fajcis  :trestac: ;D

ved v mainku je "algoritmus"
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

Raven17

Zdravím,

Neviem si rady so zadaním č. 6 minimálny kríž, prešiel som aj celu tuto tému ale nikde som nenašiel nič čo by mi pomohlo. Znenie zadanie je:

Robot vytvorí pomocou značiek na ploche sveta minimálny kríž. Robot postupuje plochou po riadkoch. Robot ide najkratšou cestou do konečnej pozície.

Ak by karel nemusel ísť najkratšou cestou tak by som vedel ako to spraviť (nájde stred a potom dá na každú stranu jeden beeper) ale keďže musí prejsť po riadkoch tak neviem, ako by som to robil, pls mohol by niekto kto to vie, poradiť ako mám postupovať?

Ďakujem.

Vikinger

Quote from: ursus on  09.05.2010, 01:46:21
a ty co fajcis  :trestac: ;D

ved v mainku je "algoritmus"

Teba sa zase kto pytal?
ked sa ta nieco pytaju tak neodpovedáš a zas opacne !!!

luky

Quote from: Shwollo on  09.05.2010, 00:30:12

void turnOff(){
   int y, x;
   FILE *fp;
   char dir;
   fp = fopen( "output.kw", "w" );
 
   {
   if (karel.direction == 'N') dir = 'N';
   if (karel.direction == 'S') dir = 'S';
   if (karel.direction == 'W') dir = 'W';
   if (karel.direction == 'E') dir = 'E';
}
   
   fprintf(fp, "%d %d %d %d %c %d\n", svet.width, svet.height, karel.x, karel.y, dir, karel.beepers);


code]

if (karel.direction == 'N') {dir = 'N';};
    if (karel.direction == 'S') {dir = 'S';};
    if (karel.direction == 'W') {dir = 'W';};
    if (karel.direction == 'E') {dir = 'E';};

Žeby takto

padre

Quote from: Vikinger on  09.05.2010, 01:21:05
Quote from: padre on  09.05.2010, 00:50:06
nema nahodou niekto algoritmus na ulohu  cislo 5?

Spravit ho je najmenej ked uz mas nakodene mainko, tj. hlavny program   8)

mam vsetko hotove, lenze mam taky pocit ako keby ten karolko nechcel robit toto co ja chcem :), preto chcem porovnat
dam napriklad podmienku ze ak rightIsClear() tak potom nieco spravi...ale ono to nechce ani za pana spravit a spravi to krok predtym :(

FRODO

mne už všeko fachči okrem makefilu a netuším ako vôbec ma vyzerať tá dokumentácia teda viem, aká ještuktúra ale neviem čo ku ktorému bodu mám napísať... prosím pomóóc... nemá tu niekto nejaký vzorový príklad pre tú dokumentáciu???

Vikinger

Quote from: padre on  09.05.2010, 02:21:56
Quote from: Vikinger on  09.05.2010, 01:21:05
Quote from: padre on  09.05.2010, 00:50:06
nema nahodou niekto algoritmus na ulohu  cislo 5?

Spravit ho je najmenej ked uz mas nakodene mainko, tj. hlavny program   8)

mam vsetko hotove, lenze mam taky pocit ako keby ten karolko nechcel robit toto co ja chcem :), preto chcem porovnat
dam napriklad podmienku ze ak rightIsClear() tak potom nieco spravi...ale ono to nechce ani za pana spravit a spravi to krok predtym :(

mozno mas v kniznici zle spravenu funkciu rightisclear, ked chces napis na icq mozem sa nato kuknut ...

profesionale

Mam taky problem. Karel poziciu ma poziciu 0,0 v lavom hornom rohu a ja by som chcel dolny lavy...ako to spravit...ja si uz z to karla vytrham vlasy.

void turnOn()
{
    int world1[5][4] = {
   { 1, 1, 2, 3 },
   { 0, 4, 3, 1 },
   { 2, 0, 0, 2 },
   { 5, 1, 0, 3 },
   { 0, 0, 0, 0 }

};
world.width = 4;
world.height = 5;

karel.x = 2;
karel.y = 3;
int x, y;
for(x=0; x<world.height; x++){
for(y=0; y<world.width; y++)
world.data[x][y]=world1[x][y];
}
}




void draw()
{
 system("cls");
 drawStatus();

    int x,y;

    for(x=0; x<world.height; x++)
    {
       for(y=0; y<world.width; y++)
       {

                if(x == karel.y && y == karel.x)
                {
                     switch(karel_direction)
                     {
                         case 0:
                              printf(">");
                              break;
                         case 90:
                              printf("v");
                              break;
                         case 180:
                              printf("<");
                              break;
                         case 270:
                              printf("^");
                              break;
                     }
                }
                else if(world.data[x][y] == EMPTY)
                {
                    printf(".");
                }
                else if(world.data[x][y] == WALL)
                {
                    printf("#");
                }
                else
                {
                    if(beepS == 1)
                    {
                    printf("%d", world.data[x][y]);                              
                    }
                    else
                    {
                    printf("*");                        
                    }
                }
          }
          printf("\n");
    }
   
    printf("\n");
 sleep(1000);    

}

padre

Quote from: Vikinger on  09.05.2010, 04:10:19
Quote from: padre on  09.05.2010, 02:21:56
Quote from: Vikinger on  09.05.2010, 01:21:05
Quote from: padre on  09.05.2010, 00:50:06
nema nahodou niekto algoritmus na ulohu  cislo 5?

Spravit ho je najmenej ked uz mas nakodene mainko, tj. hlavny program   8)

mam vsetko hotove, lenze mam taky pocit ako keby ten karolko nechcel robit toto co ja chcem :), preto chcem porovnat
dam napriklad podmienku ze ak rightIsClear() tak potom nieco spravi...ale ono to nechce ani za pana spravit a spravi to krok predtym :(

mozno mas v kniznici zle spravenu funkciu rightisclear, ked chces napis na icq mozem sa nato kuknut ...

no spravil som to nejako pre ten svet ale nie vseobecne...kaslem na to tie nervy pre tych par bodov mi za to nestoja :)

Vikinger

Quote from: padre on  09.05.2010, 04:51:11
Quote from: Vikinger on  09.05.2010, 04:10:19
Quote from: padre on  09.05.2010, 02:21:56
Quote from: Vikinger on  09.05.2010, 01:21:05
Quote from: padre on  09.05.2010, 00:50:06
nema nahodou niekto algoritmus na ulohu  cislo 5?

Spravit ho je najmenej ked uz mas nakodene mainko, tj. hlavny program   8)

mam vsetko hotove, lenze mam taky pocit ako keby ten karolko nechcel robit toto co ja chcem :), preto chcem porovnat
dam napriklad podmienku ze ak rightIsClear() tak potom nieco spravi...ale ono to nechce ani za pana spravit a spravi to krok predtym :(

mozno mas v kniznici zle spravenu funkciu rightisclear, ked chces napis na icq mozem sa nato kuknut ...

no spravil som to nejako pre ten svet ale nie vseobecne...kaslem na to tie nervy pre tych par bodov mi za to nestoja :)

ked chces tak ti tu funkciu opraivm v kniznici, noo ale ved neni to az take tazkee, cez cyklus to v phode spravíš

padre

no nakoniec som to testoval na par svetoch a slo to na kazdom tak uvidime mno, kazdopadne siki za ochotu :), uz len ta drbnuta dokumentacia

Vikinger

Quote from: padre on  09.05.2010, 05:11:06
no nakoniec som to testoval na par svetoch a slo to na kazdom tak uvidime mno, kazdopadne siki za ochotu :), uz len ta drbnuta dokumentacia

zamaličkoo :-) a este tie komentare nezabudni  :-)

Itachi7

Zdravím .... nooo .... aj mna by zaujimalo .... ako by mala vyzerat ta dokumentacia ... Nema ju už niekto ... ???
Lebo je tam síce napísane čo chcú, len nechpem, čo vlastne chcú?? ??? ??? ???

Itachi7

Prípadne zaplatím za vypracovanie dokumentacie

Shwollo

prečo mi to neche fungovať? ono sa to vôbec nereaguje na funkciu "domov". Chcel som spraviť, že keď vezme 4 beepre tak pôjde "domov".

while (beepersPresent())
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();
                   
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

Joey_XD

#615
Co je to za hlasku na omege ked chcem prelozit program cez Makefile vypise mi toto : make: vfork: Resource temporarily unavailable ... na kompe(Linux) mi to prelozi v pohode

Vikinger

Quote from: Joey_XD on  09.05.2010, 17:31:40
Co je to za hlasku na omege ked chcem prelozit program cez Makefile vypise mi toto : make: vfork: Resource temporarily unavailable ... na kompe(Linux) mi to prelozi v pohode


zeby nato omega nebola pripravenáá :D :D, vykasli sa natoo ....

luky

Quote from: Shwollo on  09.05.2010, 17:26:00
prečo mi to neche fungovať? ono sa to vôbec nereaguje na funkciu "domov". Chcel som spraviť, že keď vezme 4 beepre tak pôjde "domov".

while (beepersPresent())
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();
                   


zložené zátvorky!
while (beepersPresent()){
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();}

fail

ako ste osetrovali komentar na prvom riadku ? lebo ja to mam osetrene iba po prvom (po tom fscanf) if(z=='#'){fgets(comment_line,MAX_LINE,fp);
        riadok++;        
 ... tiez ste to osetrili nejak cez fgets ?

Shwollo

Quote from: luky on  09.05.2010, 17:52:42
Quote from: Shwollo on  09.05.2010, 17:26:00
prečo mi to neche fungovať? ono sa to vôbec nereaguje na funkciu "domov". Chcel som spraviť, že keď vezme 4 beepre tak pôjde "domov".

while (beepersPresent())
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();
                   


zložené zátvorky!
while (beepersPresent()){
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();}

nepomôže potom mi hádže chybu v zdrojáku. Je to v štvrtom riadku

int beep = 0;
    turnOn("world.txt");
    draw();
    while (frontIsClear()){                                                     // cyklus, aby sie K stale dopredu
          movek();
             while (beepersPresent()){
                pickBeeper();
                beep++;
                if (beep == 4)
                   domov();
                   }
                   else{
          if (frontIsBlocked() && facingSouth()){                               //ak narazi na stenu a je otoceny dole
             turnLeft();
             if (frontIsBlocked() && rightIsBlocked()){                         //ak dojde do rohu sveta
                turnLeft();
                turnLeft();
               
                while (frontIsClear())
                       movek();
                              if (frontIsBlocked()){
                              turnRight();
                              while (frontIsClear()){
                              movek();
                              while (frontIsBlocked()){
                                    if (beepersInBag())
                                    putBeeper();
                                    else goto koniec;                     
                                    }
                                    }
                             }
                         }
                else movek();

nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

Jackson

Ako ma prosim vas vyzerat MAKEFILE?  :(

revelc

Shwollo: skontroluj si tam zlozene zatvorky a poriadne odsad, mas v tom riadny chaos ... uz len napr. pri druhom while jak ti konci tak hned tam mas else, atd...
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

Shwollo

#622
ja viem, že v tom mám chaos... :), ale ono sa to nedá nejak pekne spraviť, lebo tam musím pomaly po každom kroku kontrolovať front, left a pod....
btw... dik :)
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

enter8888

Nema niekto na predaj 14 zadanie?? please :(

luky

Quote from: Joey_XD on  09.05.2010, 17:31:40
Co je to za hlasku na omege ked chcem prelozit program cez Makefile vypise mi toto : make: vfork: Resource temporarily unavailable ... na kompe(Linux) mi to prelozi v pohode


detto a ešte to vyhodí po asi 5 sekudnách čakania

prežije omega odovzdávanie zadaný?