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

programovanie

Started by rasto31, 27.04.2010, 23:49:30

« predchdzajce - alie »

expllclt

Quote from: JCube on  27.05.2010, 01:18:48
spravne je A

tak preco to nejde?

#include <stdio.h>
#define VALUE 1

int main()
{
    int i,k;
    int x[3][5];
    for (i=0; i<3; i++)
        for (k=0; k<5; k++)
            x[i][k]=VALUE;
    int **sm=x;
   
    i=2;
    k=3;
   
    printf("A)    *(sm+i)+k   == &x[i][k] -> %p == %p\n",
        (*(sm+i)+k),&x[i][k]);
    printf("Moje) *(sm+i*5+k) ==  x[i][k] -> %.8d == %.8d\n",
        *(sm+i*5+k), x[i][k]);
    printf("Moje)  sm+i*5+k   == &x[i][k] -> %p == %p\n",
        (sm+i*5+k), &x[i][k]);
   
    system("pause");
    return 0;
}

U mna vystup:

A)    *(sm+i)+k   == &x[i][k] -> 0000000D == 0022FF04
Moje) *(sm+i*5+k) ==  x[i][k] -> 00000001 == 00000001
Moje)  sm+i*5+k   == &x[i][k] -> 0022FF04 == 0022FF04
Press any key to continue . . .

JCube

ok mas pravdu..neuvedomil som si jednu srandu (a zrejme ani autor otazky nepozna dobre C).

ked definujeme pole staticky (teda x[3][5]) tak x je pointer na dvojrozmerne pole. x[ i ] je pointer na i-ty riadok a teda &x[ i ][j] == x[ i ] + j == *(x + i) + j. Z tohoto zrejme vychadzal aj zadavatel otazky.

v com vznika problem. viacrozmerne pole je mozne definovat styroma sposobmi. tu sa stretavame s dvoma:
staticke teda x[3][5] a pointer na pointer teda **sm.

kedze sme sm nealokovali nenesie si v sebe informaciu o velkosti jednotlivych riadkov statickeho pola.

teda ked napisem (tentoraz uplne typovo spravne) sm = (int **) x; tak aj tak nemozem pristupovat k prvkom pola x pomocou sm a to prave z toho dovodu ze ked dam v pointerovej aritmetike sm +1 neskoci mi to o jeden riadok pola nizsie (teda na x[1]) ale kamsi do prdele.
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

JCube

co sa clovek nenauci :D
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

expllclt

Quote from: JCube on  27.05.2010, 02:29:43
co sa clovek nenauci :D
jj, mne to neslo dohlavy ze jedno z tych moznosti je spravne, som rad ze mi dakto zmysluplne odpovedal a utvrdil ma v mojom nazore, vdaka ;)

mimexko

asi precitat slidy mi nepostaci ze?

JCube

btw odkial mas tu otazku? to je skuskova alebo zapoctova alebo aka?
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

expllclt

Quote from: JCube on  27.05.2010, 02:45:20
btw odkial mas tu otazku? to je skuskova alebo zapoctova alebo aka?
skusobny test z predmetu programovanie v jazyku C (kod testu Av1F4)
11 otazka

albin

z coho sa treba ucit na toto programovanie?...viem ze na moodli daco je ale nema niekto neake ine veci?:D....alebo po pripade neake testy nemate?:D

TheOne

Quote from: albin on  29.05.2010, 17:47:33
z coho sa treba ucit na toto programovanie?...viem ze na moodli daco je ale nema niekto neake ine veci?:D....alebo po pripade neake testy nemate?:D


cekni ftp

albin

Quote from: TheOne on  29.05.2010, 20:22:04
Quote from: albin on  29.05.2010, 17:47:33
z coho sa treba ucit na toto programovanie?...viem ze na moodli daco je ale nema niekto neake ine veci?:D....alebo po pripade neake testy nemate?:D


cekni ftp
ta mne sa nejde pripojit na toto ftp :/

JCube

Quote from: albin on  29.05.2010, 22:37:24
Quote from: TheOne on  29.05.2010, 20:22:04
Quote from: albin on  29.05.2010, 17:47:33
z coho sa treba ucit na toto programovanie?...viem ze na moodli daco je ale nema niekto neake ine veci?:D....alebo po pripade neake testy nemate?:D


cekni ftp
ta mne sa nejde pripojit na toto ftp :/
ftp://tuke:tuke@tuke.mafo.sk/    :ohmygod:
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

albin

mal uz niekto skusku z programovania???  ak ano tak akabola?..lahka tazka?

totaluser

bola lahka ked mas predstavu o tom co je Ccko

to ze bola lahka neznamena ze ju das na A :P, bola lahka, a za svoje chyby by som si obuchal hlavu o stenu

albin

Quote from: totaluser on  30.05.2010, 21:48:51
bola lahka ked mas predstavu o tom co je Ccko

to ze bola lahka neznamena ze ju das na A :P, bola lahka, a za svoje chyby by som si obuchal hlavu o stenu
no ja ztenka mam predstavu ze o com to je :D....ale ked viem vsetky prednasky a nieco aj z cvika...neaku prax tak dam ju podla teba?

cenki

Quote from: albin on  30.05.2010, 22:20:32
Quote from: totaluser on  30.05.2010, 21:48:51
bola lahka ked mas predstavu o tom co je Ccko

to ze bola lahka neznamena ze ju das na A :P, bola lahka, a za svoje chyby by som si obuchal hlavu o stenu
no ja ztenka mam predstavu ze o com to je :D....ale ked viem vsetky prednasky a nieco aj z cvika...neaku prax tak dam ju podla teba?
Das vpohode... odporucam ale ste si prejst otazky z min. rokov co su na ftp.

albin

Quote from: cenki on  30.05.2010, 22:42:32
Quote from: albin on  30.05.2010, 22:20:32
Quote from: totaluser on  30.05.2010, 21:48:51
bola lahka ked mas predstavu o tom co je Ccko

to ze bola lahka neznamena ze ju das na A :P, bola lahka, a za svoje chyby by som si obuchal hlavu o stenu
no ja ztenka mam predstavu ze o com to je :D....ale ked viem vsetky prednasky a nieco aj z cvika...neaku prax tak dam ju podla teba?
Das vpohode... odporucam ale ste si prejst otazky z min. rokov co su na ftp.
gl ale ved na tom ftp niesu ziadne otazky..teda aspon ja ich neviem najst..

cenki

Quote from: albin on  31.05.2010, 01:53:35...bla bla bla...
gl ale ved na tom ftp niesu ziadne otazky..teda aspon ja ich neviem najst..
Hmm tak asi ich mam odinokadiaľ...

wirer

skúška pri dobrom zápočte a len zbežnom prejdení slajdov celkom v pohode...ak tomu človek rozumie a neurobí pár blbých chýb, za ktoré mohol mať bodíky...

TheOne

mne sa to nezdalo az take jednoduche, a to som si myslel ze som pripraveny v celku dobre, ak chytis divnu zmes otazok tak budes nerad, ale ak nesi total looser tak to das :P

potototamto

 neposlal by mi to nieto na maila? pretoze mi nejde ftp...dikeees

Palike

Aká bude hodnota premennej ax po návrate z procedúry f(), ak zdrojový text je:

void f(int x)
{ x = x + 1; }

main()
{
int ax = 3;
f(ax);
printf("%d", ax);
}
Vyberte jednu odpoveď
   A. 1     
   B. 4     
   C. náhodná     
   D. 3


why?.. je to preto ze f() je void?.. alebo preco?     

mimexko

Quote from: Palike on  01.06.2010, 00:51:38
Aká bude hodnota premennej ax po návrate z procedúry f(), ak zdrojový text je:

void f(int x)
{ x = x + 1; }

main()
{
int ax = 3;
f(ax);
printf("%d", ax);
}
Vyberte jednu odpoveď
   A. 1     
   B. 4     
   C. náhodná     
   D. 3


why?.. je to preto ze f() je void?.. alebo preco?     

no najskor to bude tym ze pocas vykonavania funkcie f() sa hdnota ax nezmeni.

totaluser

call by value
odovzdavas hodnotu a nijako ju nezmenis

call by reference
odovzdavas smernik na hodnotu a teda ju mozes menit


takto by som to zdovodnil ja

Palike

Ak je nastavená hodnota premennej i = 3, potom po vykonaní výrazu p[i++] = 5; sa hodnota 5 uloží do prvku poľa
Vyberte jednu odpoveď
   A. p[3]     
   B. žiadneho z uvedených     
   C. p[2]     
   D. p[4]     

toto chapem lebo ked je pole tak prva hodnota je p[0] ale potom preco...

Text otázky Ak je nastavená hodnota celočíselnej premennej i = 4, potom po vykonaní
výrazu p[--i] = 7;
sa hodnota 7 uloží do prvku poľa
Odpoveď-A p[3]
Odpoveď-B p[4]
Odpoveď-C p[5]
Odpoveď-D p[6]

???

JCube

i++ znaci postinkrement..to post znamena ze sa hodnota inkrementuje az po vykonani prikazu
++i zase znaci preinkrement..to pre znaci ze sa hodnota inkrementuje pred vykonanie prikazu
i-- a --i je analogicke
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"