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

Programovanie

Started by esperian, 18.02.2011, 22:35:36

« predchdzajce - alie »

gabos

  neviete co to znamena ked mi dost casto vyskakuje chyba signal received: SIGSEGV(segmentation fault) ?

orsi

máš to zle  :D da sa to opravit ked prepíšeš kód na dobrý  :D

hardest

moze byt v jednej vetve switchu za case : dalsi switch ?

orsi

pochybujem, vnutri switchu sa da pisat len case a default pokial viem, ine to ignoruje. ale vyskusaj.

AnvilOfFury

Quote from: hardest on  25.03.2011, 02:54:46
moze byt v jednej vetve switchu za case : dalsi switch ?
Prečo by nie?
edit: toto malo ísť pre gabos: Problém pri seg. fault nastáva väčšinou ak indexuješ, alebo pristupuješ k reťazcom tam, kde nemáš. (Indexuješ reťazec, alebo pole mimo rozsah). Postni časť kódu, to bude lepšie.
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

hardest

Quote from: orsi on  25.03.2011, 03:03:13
pochybujem, vnutri switchu sa da pisat len case a default pokial viem, ine to ignoruje. ale vyskusaj.

hej, ale za jeden case v switchi dalsi switch :D ... no nejak mi to nefungovalo, validator nejaku chybu pisal, skusim este raz

ppeess

Quote from: hardest on  25.03.2011, 18:24:49
Quote from: orsi on  25.03.2011, 03:03:13
pochybujem, vnutri switchu sa da pisat len case a default pokial viem, ine to ignoruje. ale vyskusaj.

hej, ale za jeden case v switchi dalsi switch :D ... no nejak mi to nefungovalo, validator nejaku chybu pisal, skusim este raz

Tak namiesto switchu daj podmienku if ......

orsi

vyriešil som to, že ked karol narazi na koniec sveta (nie na stenu), tak skončí. ak to niekto kodil tak si to pre istotu otestujte pre všetky 4 smery, na východ ked je tak robi bludy  :D aspon mne siel o jedno viac ako sa dalo, tak som to musel ošetrovať pre ten jeden smer.

AnvilOfFury

Quote from: hardest on  25.03.2011, 18:24:49
Quote from: orsi on  25.03.2011, 03:03:13
pochybujem, vnutri switchu sa da pisat len case a default pokial viem, ine to ignoruje. ale vyskusaj.

hej, ale za jeden case v switchi dalsi switch :D ... no nejak mi to nefungovalo, validator nejaku chybu pisal, skusim este raz

main(){
  int a = 1;
  int b = 1;
  switch(a){
    case 0: printf("a == 0\n"); break;
    case 1: switch(b){
        case 0: printf("a == 1 && b == 0\n"); break;
        case 1: printf("a == 1 && b == 1\n"); break;
      } break;
  }
}

Narychlo skompilovane... preslo, takto si to myslel? Prejde to v C, C#, Jave... v case moze byt relativne cokolvek aj dalsi switch.
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

darktemplar999

hlasi mi chybu v tom DIRECTION direction; a v tom sleep(DELAY);  ze unable resolve to indentifier DIRECTION a pri druhom mi hlasi podobne unable resolve to indentifier sleep.     co tam mam zle?

#include <string.h>
#include <stdio.h>
#include <windows.h>
#define MAX_HEIGHT 20
#define MAX_WIDTH 20
#define WALL -1
#define EMPTY 0
#define DELAY 500

static int world [MAX_HEIGHT] [MAX_WIDTH];
static int height;
static int width;
static int x,y;

DIRECTION direction;
static void draw();
static int drawKarel();
typedef enum
{
    EAST=0,
    NORTH=90,
    WEST=180,
    SOUTH=270
};
static void draw()
{
    int i,j;
    system("cmd/c cls");
    for(i=height-1; i>=0; i--)
    {
        for(j=0;j<width;j++)
        {
            if (x==j&&y==i)
                putchar(drawKarel());
            else if (world[i][j]==WALL)
                putchar('#');
            else
                printf("%d",world[i][j]);
            putchar('\n');
        }
    }
    sleep(DELAY);
}

static int drawKarel()
{
    switch(direction){
            case EAST: return '>';
            case NORTH: return'^';
            case WEST: return'<';
            case SOUTH: return 'v';
}
return '?';
}
void turnOn()
{
    char*map="########|#--#---#|#---*--#|#--#**-#|##-#---#|#---*#-#|#----->#|########";
    int i=0,j=0,k;
    for(k=0;k<strlen(map);k++)
    {
        switch(map[k])
        {
            case'#':
                world[i][j]=WALL;
                break;
            case'-':
                world[i][j]=EMPTY;
                break;
            case'$':
                world[i][j]=1;
                break;
            case '>':
                x=j;
                y=i;
                direction=EAST;
                break;
            case '^':
                x=j;
                y=i;
                direction=NORTH;
                break;
            case'<':
                x=j;
                y=i;
                direction=WEST;
                break;
            case 'v':
                x=j;
                y=i;
                direction=SOUTH;
                break;
            case'|':
                i++;
                j=-1;
                break;
        }
        j++;
    }

    height=i+1;
    width=j;
    draw();
}
void turnLeft()
{
    direction+=90;
    if(direction>270)
        direction=EAST;
    draw();
}



hardest

AnvilOfFury -> hej tak som to myslel, neviem preco to mne neslo, skusim to asi este raz, aj ked uz som to nahradil if-om

expllclt

Quote from: darktemplar999 on  26.03.2011, 17:02:51
hlasi mi chybu v tom DIRECTION direction; a v tom sleep(DELAY);  ze unable resolve to indentifier DIRECTION a pri druhom mi hlasi podobne unable resolve to indentifier sleep.     co tam mam zle?

DIRECTION direction; // Ziadne DIRECTION neexistuje
typedef enum
{
    EAST=0,
    NORTH=90,
    WEST=180,
    SOUTH=270
};


typedef enum
{
    EAST=0,
    NORTH=90,
    WEST=180,
    SOUTH=270
}DIRECTION;
DIRECTION direction; // Teraz uz DIRECTION existuje


neexistuje sleep() ale existuje Sleep()
windows funkcie zacinaju prvym velkym pismenom

hardest

mozem sa spytat co znamena "typedef enum" a "DIRECTION direction" ?

RiTChi

Quote from: hardest on  26.03.2011, 22:09:46
mozem sa spytat co znamena "typedef enum" a "DIRECTION direction" ?

enumeračný dátový typ, prvá prednáška tuším...

tommy-sv

Quote from: darktemplar999 on  26.03.2011, 17:02:51
hlasi mi chybu v tom DIRECTION direction; a v tom sleep(DELAY);  ze unable resolve to indentifier DIRECTION a pri druhom mi hlasi podobne unable resolve to indentifier sleep.     co tam mam zle?

Mohol by si pripadne urobit:

/**
* OS independent sleep() function wrapper
*
* @param int msecs the time to sleep in miliseconds
*/
void sys_sleep(int msecs)
{
#ifdef _WIN32
Sleep(msecs);
#endif
#ifdef __linux
sleep(msecs / 1000);
#endif
}


Malo by to byt viac-menej portabilne.
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

psicho

No co deticky ? nexete dake fajne zadania ? :D
read my blog> www.codemazing.com <read my blog

ppeess

A ptm vas bude cakat prekvapenie pri odovzdavani  :bannana_guitar:  bp

hardest

kedze uz nie su zadania ako pominule roky tak ani nie :D

ppeess

No to je jedno ci su ine ...... :D

orsi

my co piseme do tejto temy programujeme sami. asi  :D

esperian

hojte je tu niekto kto ma programko v stredu s E. Pietrikovou ? ak hej tak o akej hodine a v ktorej miestnosti

Rajo

http://maisportal.tuke.sk/portal/rozvrhy.mais

v stredu má fajront celý deň, iba v utorok a vo štvrtok má programko

drakeman

#222
Quote from: zaky on  24.03.2011, 02:23:39
Quote from: AnvilOfFury on  23.03.2011, 06:00:05
Nainstalovat NB, nainstalovat Cygwin (zaskrtnut len Develop) spustit NB, nastavit cestu k Cygwin\bin v nastaveniach C/C++, nastavit PATH v systeme na Cygwin\bin. Any problem?
tak.
Configuring the NetBeans IDE for C/C++ , cygwin compiler
presne sledujte co zacne robit v 3:08
C:\cygwin
pripadne
C:\cygwin\bin
zalezi kde to mas


Ale ešte niečo nehraje tak ako má neviete poradiť? Pri zbehnutí mi vypíše príkazový riadok toto:

http://img585.imageshack.us/img585/8730/netbeans.png

Ale ináč vdaka velka vdaka, pomohol si. Chyba bola medzi klavesnicou a stoličkou. Konkrétne keď som pri inštalácii cygwin ručne vybral tie kompilery všetko už išlo tak ako má :)

kade

ako vymazem obrazovku?  ??? resp. co mam presne napisat do draw a ake kniznice pridat.... any idea ?

BuliWyf

#224
system("cls");

dopl.: a v Linuxe to mas ako clear, by