Author Topic: ZADANIA Z predmetu PROGRAMOVANIE  (Read 204679 times)

ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #250 on: 30.03.2010, 00:10:45 »
no ako uz by mohli dat tie zadania, lebo nejako sa nam to krati :trestac:

9ty tyzden ppi
11ty ele 
12 fyz
13 asm  +druhe zadanie
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

psicho

  • VIP
  • Hero Member
  • *****
  • Posts: 3173
  • Markus[pSicho]Fesi
    • View Profile
    • codemazing
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #251 on: 30.03.2010, 22:05:28 »
hej hej mozu kludne ich dat bo ja nemam cas ajtak ich robit :D  nemusia mat paniku :D
read my blog> www.codemazing.com <read my blog

radix

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #252 on: 30.03.2010, 22:08:01 »
to je moc ked prvakom nechcu dat zadanie kvoli tebe :D

ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #253 on: 31.03.2010, 01:13:40 »
caute, potrebujem trochu helpnut

cem upravit karola tak, aby to bolo ovladatelne sipkami, proste nieco na styl "on-key-pressed" event hladam;
guglil som, ludia zvykli radit getchar(), ale ten mi nepride velmi vhodny, kedze to caka na enter stale a to mi moc ako hra uz nepride kazdy svoj pohyb potvrdzovat entrom

any ideas ako sa to v C robi?
« Last Edit: 31.03.2010, 18:53:34 by ursus »
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

vojto

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #254 on: 01.04.2010, 04:06:04 »
caute, potrebujem trochu helpnut

cem upravit karola tak, aby to bolo ovladatelne sipkami, proste nieco na styl "on-key-pressed" event hladam;
guglil som, ludia zvykli radit getchar(), ale ten mi nepride velmi vhodny, kedze to caka na enter stale a to mi moc ako hra uz nepride kazdy svoj pohyb potvrdzovat entrom

any ideas ako sa to v C robi?

Da sa, urcite, sak tak funguju vsetky DOS hry :) Ale robit program pre prikazovy riadok, uhhh .. Uz predsa len je nejaky 2010 :) Ja skusim urobit normalne graficke rozhranie, ak sa mi podari ..

Ing. nemtom

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7709
  • lofr dyslektik
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #255 on: 01.04.2010, 04:36:12 »
moj uceny kolega psicho hovori ze fgetc(), skus si to nastudovat
brix will be shat

psicho

  • VIP
  • Hero Member
  • *****
  • Posts: 3173
  • Markus[pSicho]Fesi
    • View Profile
    • codemazing
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #256 on: 01.04.2010, 05:19:40 »
a ked to jede pod Linux tak este kukni fcie tcsetattr a ioctl
read my blog> www.codemazing.com <read my blog

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #257 on: 01.04.2010, 08:14:16 »
Asi najlepšie bude použiť už známu knižnicu NCURSES. Tu je ukážka:

Code: [Select]
#include "curses.h"

int main() {
 initscr(); // inicializacia ncurses
 noecho(); // znaky z klavesnice sa nevypisuju na obrazovku
 keypad(stdscr, TRUE); // budeme zachytavat aj specialne klavesy

 int klaves = getch(); // zistenie kodu klavesu
 printw("%d\n", klaves); // vypisanie kodu (miesto toho sa moze kod porovnavat cez switch a pod.)
 refresh(); // prekreslenie obrazovky

 getch(); // cakanie na stlacenie klavesu
 endwin(); // ukoncenie prace s ncurses
 return 0;
}

Na Linuxe sa to potom skompiluje aj s prepínačom "-lcurses". Pre Windows je potrebné stiahnuť pdcurses, skopírovať všetko do priečinku s projektom a pridať pdcurses.lib k parametrom linkera (podobne ako pri kompilácii programu s knižnicou Karla, ktorú sme používali na cvičeniach).

Jediná nevýhoda je v tom, že bežné funkcie ako printf() nebudú pracovať ako zvyčajne (je potom nutné volať refresh(), aby sa obsah vypísal).

Viac na http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/.

ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #258 on: 02.04.2010, 06:17:33 »
thx a lot guise :beer1:

este mam jeden problemos, vo wine resp devcpp to fachci, ale pod unixom nvm ako nato, proste ako to cviko hovori ze maju byt dve subory, v jednej je main() a v nej volane dane funkcie ktore su definovane v druhom subore .c

nechapem ako to mam pripojit pri kompilacii, lebo inac mi pise ze nepozna tie funkcie ? nejako z toho druheho spravit .h a v prvom ho includnut?


//tak pokus a omyl  ;D gcc prve.c druhe.c a uz to fachci :ropebanana: (necham to tu pre inych)
// ye, mirek, to by ste tam mali asi napisat, lebo to ma len tak hned netrklo
« Last Edit: 02.04.2010, 06:27:28 by ursus »
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

tommy-sv

  • Sr. Member
  • ****
  • Posts: 308
  • kapitalista
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #259 on: 02.04.2010, 20:26:20 »
//tak pokus a omyl  ;D gcc prve.c druhe.c a uz to fachci :ropebanana: (necham to tu pre inych)
// ye, mirek, to by ste tam mali asi napisat, lebo to ma len tak hned netrklo

ano tak ti pojde lebo linker najde symboly, ale pouzivanie hlavickovych suborov je dobry zvyk do buducna lebo:
1. iny developer vidi ze kod vyuziva externu kniznicu, zdroj
2. IDE tiez vie napr. ake argumenty su platne pre danu funkciu, proceduru
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

freshmakerik

  • Hero Member
  • *****
  • Posts: 570
  • v ?avej ruke mám kladivo keby nebolo vidno ;)
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #260 on: 02.04.2010, 21:48:46 »
..ze maju byt dve subory..
dva
sry nedalo mi :D
aj počítač je len človek..

cenki

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #261 on: 03.04.2010, 02:02:58 »
Vie mi niekto poradit ako ulozit klavesu do premennej? Napr. klavesu sipka hore, alebo klavesu tab a potom porovnat pomocou if(premenna==klavesa)? (Nieco ako s pismenami: if(premenna=='a') )
/* vysie mam spraveny key_press ako poradil sulo  ale viem nahodit len pismena prip. cisla */

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #262 on: 03.04.2010, 18:54:18 »
google... pokiaľ si spomínam, na všetky klávesy boli nejaké makrá... ale už to bolo dávno...
All code is crap.

42

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #263 on: 03.04.2010, 19:37:08 »
Priamo v hlavičkovom súbore curses.h sú na to konštanty (resp. makrá) ako napr. KEY_UP (pri každej klávese je dokonca komentár). Použitie je podobné, napríklad:

Code: [Select]
if (premenna == KEY_UP) ...
Niektoré makrá sú tam dosť abstraktné (skôr pre kompatibilitu), takže ak sa tam nejaký kláves nenachádza, jeho kód môžeme jednoducho zistiť a vypísať pomocou ukážkového programu. Pre prehľadnosť si potom na začiatku programu (alebo radšej vo vlastnom hlavičkovom súbore) definujeme vlastné makrá:

Code: [Select]
#define KEY_TAB 9

pooler

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #264 on: 05.04.2010, 04:38:46 »
ako presne funguje refresh() ?
po prípade nejaký iný spôsob vyčistenia obrazovky, bez toho aby mi to blikalo

prečo mi nefunguje taketo niečo?:
    char retazec;
    scanf("%s", &retazec);
    printf("%s", retazec);

po prípade
    char retazec='text';
    printf("%s", retazec);

hm ?

vojto

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #265 on: 07.04.2010, 14:19:06 »
char -> znak
*char -> retazec

tommy-sv

  • Sr. Member
  • ****
  • Posts: 308
  • kapitalista
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #266 on: 08.04.2010, 01:37:22 »
char -> znak
*char -> retazec
pozor na poziciu *, ide medzi typovu deklaraciu a nazov premennej

char* retazec = "lorem ipsum";
alebo
char *retazec = "lorem ipsum";
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

vojto

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #267 on: 08.04.2010, 03:16:48 »
no, to mas jedno kolko medzier tam natrepes.

ale dobrym zvykom je to davat hned k nazvu premennej - pretoze
to znaci ze premenna je smernik.

char *retazec

neucilasom

  • Full Member
  • ***
  • Posts: 204
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #268 on: 13.04.2010, 02:47:39 »
Cau nemate niekto hotove cviko od  6 po 8 ja mam 6 ku ale hlasi asi 3 chyby a daco aj 7, 8 som skusal ale to nemam komplet hodim sem spon 6 ku ked mate tak poprosim dajte to sem diky moc
a teraz 6ka:

include "stdio.h"
#define MAX_HEIGHT 20         //maximalna vyska sveta
#define MAX_WIDTH  20         //maximalna sirka svta


#define EMPTY 0  //PRVKY
#define WALL -1  //SVETA


int width,height;            // informacia o aktualnj vzske a sirke sveta

int world[MAX_HEIGHT][MAX_WIDTH];

void turnOn (){
    int i,j;
   
   
int world1[5][6] = {
       { 0, -1, -1, -1,  0, 0 },
       { 0, -1,  0,  0, -1, 0 },
       { 0, -1, -1, -1,  0, 0 },
       { 0, -1,  0,  0, -1, 0 },
       { 0, -1,  0,  0, -1, 0 }
   };
width = 6;
height = 5;

for(i=0;i<height;i++){
for(j=0;j<width;j++){
world[j] = newWorld[j];

      
      }
   }
}

void draw(){
int i,j;

for(i=0;i<height;i++){
for(j=0;j<width;j++){
switch(world[j])){
case EMPTY : putchar(' '); break;        //printf(" ")
case WALL  : putchar('#'); break;

}
}
putchar('\n');
}
}








ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #269 on: 13.04.2010, 03:27:16 »
nechce sa mi to cele prezerat ale

for(i=0;i<height;i++){
for(j=0;j<width;j++){
world[ i ][j] = newWorld[ i ][j];

      
      }
   }
ale chujovo naplnujes to pole nie? ved je predsa dvojrozmerne
« Last Edit: 13.04.2010, 03:29:01 by ursus »
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #270 on: 13.04.2010, 07:59:29 »
include "stdio.h" <--- chýba mriežka pri direktíve preprocesora
...
int world1[5][6] = ... <------ neskôr v zdrojáku je newWorld, tak si vyber...
...
switch(world[ i ][j])){  <--------- nadbytočná 2. ukončovacia zátvorka
« Last Edit: 13.04.2010, 08:07:24 by sulo »

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #271 on: 13.04.2010, 08:06:32 »
nechce sa mi to cele prezerat ale

for(i=0;i<height;i++){
for(j=0;j<width;j++){
world[ i ][j] = newWorld[ i ][j];

      
      }
   }
ale chujovo naplnujes to pole nie? ved je predsa dvojrozmerne

Myslím, že tam pôvodne bolo [ i ][ j ], len sa to nahradilo BBCode kurzívou ;D

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #272 on: 13.04.2010, 16:08:36 »
nechce sa mi to cele prezerat ale

for(i=0;i<height;i++){
for(j=0;j<width;j++){
world[ i ][j] = newWorld[ i ][j];

      
      }
   }
ale chujovo naplnujes to pole nie? ved je predsa dvojrozmerne

Myslím, že tam pôvodne bolo [ i ][ j ], len sa to nahradilo BBCode kurzívou ;D
Ale i tak, nemozes dat world[ i ][j] = newWorld[ i ][j]; ked nemas nikde definovane world :D Co chces do toho newWrold prepisovat? podla toho pola hore by to malo byt world1[ i ][j] = newWorld[ i ][j];

neucilasom

  • Full Member
  • ***
  • Posts: 204
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #273 on: 13.04.2010, 17:32:56 »
include "stdio.h" <--- chýba mriežka pri direktíve preprocesora
...
int world1[5][6] = ... <------ neskôr v zdrojáku je newWorld, tak si vyber...
...
switch(world[ i ][j])){  <--------- nadbytočná 2. ukončovacia zátvorka

Diky a nemas to ako by to malo vyzerat po 8 cviku?

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #274 on: 13.04.2010, 18:48:45 »

Diky a nemas to ako by to malo vyzerat po 8 cviku?


fiha - ocakaval som, kedy sa tu budu nachadzat prave taketo "instantne" riesenia (psycho - asi si nezarobis) podavane so vsetkym, co k tomu treba - teda - stiahnite si alebo opravte mi to, lebo som stiahol a nejde to. iba MAT riesenie ale na udelenie zapoctu zial nebude stacit :-( takze sa skuste rozpravat o problemoch, ako co vyriesit a nie o tom, od koho to mozem stiahnut.
So say we all!