• 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 »

Palike

Quote from: tommy-sv on  21.04.2010, 03:40:51
Quote from: Palike on  21.04.2010, 03:13:46
chcem docielit to aby cely svet bol vynulovany...

mozes to riesit aj takto:

#include <string.h>
...
int matrix[2][2] = {{2, 2}, {2, 2}};
memset(&matrix, 0, sizeof(int)*2*2); // velkost int krat dimenzie pola

pozor hlavne na posledny parameter funkcie memset, aby si neprepisal viac pamate nez mas

http://www.cplusplus.com/reference/clibrary/cstring/memset/

EDIT: pozor aj na druhy parameter, deklarovany je sice ako int ale interne sa pracuje s jednym byte, ktory sa bude opakovat. to znamena ze ak inicializujete pole napr. cislom 1 tak sa stane ze v poli sa bude nachadzat hodnota 16843009 kedze int = DWORD(32bit) = 4 x byte = 00000001|00000001|00000001|00000001
pre nulovanie pola je ale memset skvely

dakujem funguje to... a keby som skusil nieco take ako malloc, calloc, realloc, free  to sme mali na prednaske.. nwm aky je medzi tym rozdiel ???

psicho

malloc ti alokuje pole ale pole v pameti neni nijak "upravene" moze obsahovat garbage teda to zavysi od operacneho systemu ci roby jarne upratovanie alebo ne

calloc ti alokuje pamet a inicializuje na default hodnotu daneho typu pre kery alokujes pamet teda pre char by pamet mala vyzerat asi takto \0\0\0\0\0\0\0\0\0\0 :D

a realloc ti zmeni velkost alokovanej pameti 
read my blog> www.codemazing.com <read my blog

Maxim88915

Quote from: ursus on  22.04.2010, 03:33:00
sak vzdy pokladas beeper v kazdom riadku o jednu x-ovu suradnicu dalej az kym nenarazi na konec sirky sveta..

To je my jasne, teoreticky nato viem ale nemam prehlad v tych prikazoch na zadefinovanie a implementaciu Karla, hoc na cvikach som tomu rozumel len fakticky tie prikazy a syntax robi problemy. No neva, dik anyway.

Quote from: petopetolkoo on  22.04.2010, 03:51:47
ludia su lenivi rozmyslat,ked maju problem, hned to hodia sem bez toho aby sa nad tym zamysleli ,lebo vedia ze dobraci chytraci im pomozu. ved preco nepomoct lenivcom a darmozracom nie ? mozno ak chcete mat co najviac dobrych skutkov, ale inac len sami sebe skodite, a udrzujete parazity na tej skole dlhsie. 

Quote from: Bc. nemtom on  22.04.2010, 04:23:04
nevadi, parazity potom zlyhaju ked pojdu hladat robotu

Vy dvaja sa trosku uvedomte, to ze vy programovat v C-cku viete neznamena ze potom kazdy kto poziada o pomoc je proste tupy "parazit". Ale ved ja chapem, je to jednoduchsie napisat to na nete nez to povedat do oci. Spomente si ako ste sa vy naucili, myslim ze nie ste ten pripad co si kupil skripta a doma uplne sam bez problemov sa to nabuchal co ? Ludia sa ucia od ludi.

Sig and Avy made by me

Ing. nemtom

jo nekupil som si skripta, pouzival som tutorialy na nete.. a sak ja som to vravel vseobecne nie konkretne na teba, neber vsetko naseba
brix will be shat

dEVIANT

A keď ti niekto tak pomáha, že sedí vedľa teba a radí, keď sa zasekneš na 5 sekúnd, je piča platné. Radšej na to príd aj za 2 hodiny, ale sám, a sa to aj poriadne naučíš...a budeš mať dobrý pocit na dušičke!
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

totaluser

zdar ludia, vidim ze tu skoro vsetci viete programovat a tak by som vas rad poprosil o pomoc
mam zadanie 12  http://stargate.cnl.tuke.sk/~mirek/pvjc/scenarios/zadania.html
mam algo, ze urobi spiralu dovnutra ak vie, ako daleko moze ist smerom na juh

v tomto priklade je pole 7x7
a ja naviem ako by som mohol zistit dlzku toho sveta smerom na juh

napadlo ma:
1. v library.c si vytvorit funkciu front_2_isClear(), ktora by testovala nie ci je priamo o 1 poziciu pred karlom stena, ale o 2 pozicie a prejdenu drahu by si ukladal do nejakej premennej, ale toto asi nie je povolene, lebo to nie je klasicky karlovsky prikaz  ???
2. vytvorit si funkciu movekAll() s ktorou by karol isiel kym by mohol (kym by nenarazil na koniec sveta pred sebou) a prejdenu drahu by si ukladal do nejakej premennej (tym by som vedel dlzku sveta smerom na juh), ale tu som narazil na 2 problemy
a) ak by hned kladol beepre, tak by vyznacil aj poziciu 1,7, a tu vyznacit nema (ma dojst na 1,6 a otocit sa dolava) (samozrejme iba v pripade pola 7x7, ale toto som dal len aby to bolo nazorne) mohol by som dany beeper na danej pozicii zodvihnut, ale neviem ci sa to nebude povazovat za podvod, kedze karol ma vyznacit svoju prejdenu trasu.
b) ak by som zavolal movekAll() a nekladol by som beepre, len by si zistil dlzku sveta a vratil sa nazad do pozicie 1,1 a potom isiel uz normalne naostro (kladol by beepre), tak tiez neviem ci by sa to nebralo za podvod, lebo nevyznacil trasu prejdenu zavolanim movekAll()  :(
c) mohol by pri ceste na juh cez movekAll() beepre klast a smerom nazad do pozicie 1,1 ich zbierat, ale tiez neviem ci je toto dovolene bu

existuje nejake riesenie ako by som mohol zistit dlzku sveta bez toho aby bola priamo predomnou stena?
velmi pekne dakujem za akukolvek radu

Safyia

Totaluser, podla mna to je jedno akym sposobom to docielis, nepojde o nijaky podvod :D Pointa je zo zaciatocnej sitiacie urobit tu konecnu. Akym sposobom, to je uz na tebe. Ale library myslim menit nemozes, ma mat take prikazy, ake ma, a tot vse. Ale inac mozes vo svojej funkcii nechat karla kreslit aj kvety, ak nakoniec bude mapka vyzerat ako ma  ;D

petopetolkoo

Quote from: Maxim88915 on  22.04.2010, 19:45:03
Quote from: ursus on  22.04.2010, 03:33:00
sak vzdy pokladas beeper v kazdom riadku o jednu x-ovu suradnicu dalej az kym nenarazi na konec sirky sveta..

To je my jasne, teoreticky nato viem ale nemam prehlad v tych prikazoch na zadefinovanie a implementaciu Karla, hoc na cvikach som tomu rozumel len fakticky tie prikazy a syntax robi problemy. No neva, dik anyway.

Quote from: petopetolkoo on  22.04.2010, 03:51:47
ludia su lenivi rozmyslat,ked maju problem, hned to hodia sem bez toho aby sa nad tym zamysleli ,lebo vedia ze dobraci chytraci im pomozu. ved preco nepomoct lenivcom a darmozracom nie ? mozno ak chcete mat co najviac dobrych skutkov, ale inac len sami sebe skodite, a udrzujete parazity na tej skole dlhsie. 

Quote from: Bc. nemtom on  22.04.2010, 04:23:04
nevadi, parazity potom zlyhaju ked pojdu hladat robotu

Vy dvaja sa trosku uvedomte, to ze vy programovat v C-cku viete neznamena ze potom kazdy kto poziada o pomoc je proste tupy "parazit". Ale ved ja chapem, je to jednoduchsie napisat to na nete nez to povedat do oci. Spomente si ako ste sa vy naucili, myslim ze nie ste ten pripad co si kupil skripta a doma uplne sam bez problemov sa to nabuchal co ? Ludia sa ucia od ludi.

povedz mi cas a miesto a sa s tebou stretnem a poviem ti co si myslim. ja o sebe nehovorim ze viem programovat,ja som si sem tez sem chodil po rady, ale najprv som nad tym problemom rozmyslal, potom som skusal rozne sposoby ako to spravit, a az ked som zistil ze je to na vyssej narocnostnej urovni ktoru nezvladam tak som si sem prisiel po radu ze akym sposobom sa da problem riesit. ja som kritizoval system prace typu mam daco spravit, a automaticky to clovek hodi na forum a prosi o pomoc bez toho zeby sa on sam snazil pohnut rozmom....chapes..a ten problem co si tu nahodil neje taky zeby sa nedal sam pochopit, ked si sa dostal na tuke tak sa predpoklada ze ako tak ti to pali. a dalsia vec s tymy parazitmi a s ludskou spinou..to som hovoril vseobecne,ale je pravda ze tvoj prispevok bol impulz..ak mas problem na dusi, v pohode ja sa s tebou rad stretnem. bavi ma ludom hovorit pravdu do oci...a nechcem aby si bol teraz sklamany abo co, ja som zacinal ete na strednej s pascalom ako 14-15-rocny,tam som sa ako tak naucil tu logiku,ale ked som ju pochopil ako decko,tak pre 20 rocnych ludi studujucich na tuke na Fakulte elektrotechniky a INFORMATIKY by to fakt nemal byt problem. ak sa citis urazeny tak prepac. a ete dodam ze najlepsie sa to robi tak ze si to vsetko sam clovek skusa, co sa stane ked sem nedam hento ale tamto,alebo co sa stane ked nenapisem " " ale ' ' ..bude mi to fungovat ?....chapes ?..proste ak ti na tom zalezi a chces s toho daco mat, tak si k tomu sadni..ína cesta NIE JE. resp je tu jedna cesta,ale ta vedie prec z tuke :P

cenki

Ehm, sorry za blbú otázku ale doxygen mi zatiaľ nieje po vôli. Mohol by tu niekto uviesť príklad pre predstavu ako by mala asi vyzerať v dokumentácii nejaká funkcia? (Podľa zadaní - popis funkcií a údajových štruktúr - popísať použité premenné a údajové štruktúry, ako aj funkcie - ich vstup, výstup, parametre. Čiže len vypísať typ názov funkcie, aké v nej vystupujú premenné, ich typy, čo to returnuje, popis čo to robí a pod? Nejakú syntax to má mať alebo je to jedno?)

JCube

jaaaj clovek pride po dlhej dobe a zisti ze sa vlastne nic nezmenilo :D ake je to fajneee... a na naprogramovanie zadania z ccka stacia dva dni na naucenie pouzivania sa jazyka bez predchadzajucich skusenosti...
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

puq

Quote from: JCube on  23.04.2010, 04:45:11
jaaaj clovek pride po dlhej dobe a zisti ze sa vlastne nic nezmenilo :D ake je to fajneee... a na naprogramovanie zadania z ccka stacia dva dni na naucenie pouzivania sa jazyka bez predchadzajucich skusenosti...

musim sa pridat :D tiez som po dlhej dobe tu :D a zdielam rovnaky nazor :)

Agamemnon

Quote from: JCube on  23.04.2010, 04:45:11
jaaaj clovek pride po dlhej dobe a zisti ze sa vlastne nic nezmenilo :D ake je to fajneee... a na naprogramovanie zadania z ccka stacia dva dni na naucenie pouzivania sa jazyka bez predchadzajucich skusenosti...

jj :D
All code is crap.

42

Vikinger

Ahojte
Chcel by som sa spýtať na zadanie čislo 14
Nechcem tu zverejnovať zdrojaky či som to zle spravil či nie, chcem len vedieť ako namiesto Beprov čiže (1) prehodim to na  zátarasy (*), viem ze je to pre Vas malina ale teraz sa to učim tak by ste mi vedel trochu pomôcť? Lepšie povedane ako to treba definovať do prikazu putBeeper?? tie *-čky? zatarasy?
Za odpovede vopred ďakujem

psicho

podla mna beeper nechaj tak ako je , ale si prepis draw metodu aby ze ked je kladna hodnota ta nech vykrasli * ,alebo prepis tak ze ked je nejaka konkretna hodnota len v tedy vypise * a potom ked budes xiet dakde mat na mape * ta vzdy budes davat n tych beeperSHITov  pricom n = value_when_*_should_be_drawed
read my blog> www.codemazing.com <read my blog

Vikinger

Quote from: psicho on  24.04.2010, 17:34:34
podla mna beeper nechaj tak ako je , ale si prepis draw metodu aby ze ked je kladna hodnota ta nech vykrasli * ,alebo prepis tak ze ked je nejaka konkretna hodnota len v tedy vypise * a potom ked budes xiet dakde mat na mape * ta vzdy budes davat n tych beeperSHITov  pricom n = value_when_*_should_be_drawed

Najradšej by som to spravil pomocou ten konkretnej hodnoty, aby mi tak vypisalo *, ako sa to ma robit? skusal som to uuz neviem koľko krat neviem si radyy :( nevedel by si mi cez ICQ pomôct???

Joey_XD

Ahoj... Potreboval by som poradit s 10 cvikom  :). Podarilo sa mi nacitat a ulozit znaky cez zoznam do jednotlivych premennych, len mam taky problem ze ked uz mam dvojciferne cislo tak mi to ulozi do dvoch prvkov. Ako by som spojil tie dva prvky?
Alebo aky by bol najlepsi a najjednoduchsi sposob nacitavat zo suboru do jednotlivych premennych?
Dakujem

tommy-sv

Quote from: Joey_XD on  24.04.2010, 19:26:57
Alebo aky by bol najlepsi a najjednoduchsi sposob nacitavat zo suboru do jednotlivych premennych?


int decimal1, decimal2;
FILE *fp; = fopen(fName, "r");

fscanf(fp, "%d %d\n", &decimal1, &decimal2);
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

Vikinger

Quote from: tommy-sv on  24.04.2010, 20:27:47
Quote from: Joey_XD on  24.04.2010, 19:26:57
Alebo aky by bol najlepsi a najjednoduchsi sposob nacitavat zo suboru do jednotlivych premennych?


int decimal1, decimal2;
FILE *fp; = fopen(fName, "r");

fscanf(fp, "%d %d\n", &decimal1, &decimal2);

to do drawu treba nahodiť??? skušal som to mozno som to zle nahodil ...

ursus

#393
Quote from: totaluser on  22.04.2010, 22:10:57
blabla

no ved, ako si povedal, cez nejake whajly prejdes sirku a kazdym krokom inkrementujes velkost sirky, narazis na koniec sveta, otocis sa smerom dole, a znova to iste az kym nedojde na koniec, a takto budes mat premennych vyska, sirka aktualne rozmery sveta, a rob to normalne cez cykly, nemusis mat na secko funkciu ;D

ale sak vlastne aj mozes, a nvm preco by si menil library.c, normalne to v main.c nad main() budes pisat, klasicky jak na zaciatku cvik s karlom

je to jedno proste ;D
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

tommy-sv

Quote from: Vikinger on  24.04.2010, 20:54:06
Quote from: tommy-sv on  24.04.2010, 20:27:47
Quote from: Joey_XD on  24.04.2010, 19:26:57
Alebo aky by bol najlepsi a najjednoduchsi sposob nacitavat zo suboru do jednotlivych premennych?


int decimal1, decimal2;
FILE *fp; = fopen(fName, "r");

fscanf(fp, "%d %d\n", &decimal1, &decimal2);

to do drawu treba nahodiť??? skušal som to mozno som to zle nahodil ...

neviem kam :) pytal si sa na nacitavanie dat zo suboru do premennych a presne na to je fscanf
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

Vikinger

Vie mi stym karlom niekto pomôcť ??? :(

Palike

Quote from: Vikinger on  24.04.2010, 20:54:06

to do drawu treba nahodiť??? skušal som to mozno som to zle nahodil ...

do turnOn :)

Vikinger

Quote from: Palike on  25.04.2010, 04:30:25
Quote from: Vikinger on  24.04.2010, 20:54:06

to do drawu treba nahodiť??? skušal som to mozno som to zle nahodil ...

do turnOn :)

ale ja nechcem nacitavat daty zo suboru, ja chcem namiesto tych beprov jedničiek vykresľovat * - dičky :-) sme sa troška nepochopili ako by som to mal nakodiť? diki za odpovede

Palike

Quote from: Vikinger on  25.04.2010, 04:36:25
Quote from: Palike on  25.04.2010, 04:30:25
Quote from: Vikinger on  24.04.2010, 20:54:06

to do drawu treba nahodiť??? skušal som to mozno som to zle nahodil ...

do turnOn :)

ale ja nechcem nacitavat daty zo suboru, ja chcem namiesto tych beprov jedničiek vykresľovat * - dičky :-) sme sa troška nepochopili ako by som to mal nakodiť? diki za odpovede

no ved normalne... v draw ked mas zadefinovane.. nech ti zobrazi pocet beeperov... tak si to prepis nech ti to zobrazi * co je na tom take tazke?..

Vikinger

dakujem už to bežííí :-)  ;D  ;D  :ropebanana: