Pisemky C/C++

Uživatelský avatar
tutchek
Site Admin
Příspěvky: 795
Registrován: 21. 9. 2004 00:40
Typ studia: Informatika Mgr.
Bydliště: Praha, Bohnice
Kontaktovat uživatele:

Pisemky C/C++

Příspěvek od tutchek »

Admin se jiz vzbudil, takze pisemky jsou tady: http://c.matfyz.info/

THX to trupik
exAdmin. Magistr přes umělou inteligenci. Právník přes daně.
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Písemka

Příspěvek od Dawe »

Lidičky, našel sem v jedný písemce
int f(int p, int & q)
{
int a;
a=p+q;
p=a*p;
return a+p;
}

int g()
{
int a=3;
return f(a,a);
}
a dotaz je co vrátí fce q. Mně vyšlo 24 překladač mi to potvrdil ale je tam"správně" zatrhnuto 42. Sem blbý či co?
Lovec
Matfyz(ák|ačka) level I
Příspěvky: 37
Registrován: 18. 1. 2005 17:38
Typ studia: Informatika Bc.
Bydliště: Kolej Otava - Jižní město
Kontaktovat uživatele:

Re: Písemka

Příspěvek od Lovec »

Dawe píše:Lidičky, našel sem v jedný písemce
int f(int p, int & q)
{
int a;
a=p+q;
p=a*p;
return a+p;
}

int g()
{
int a=3;
return f(a,a);
}
a dotaz je co vrátí fce q. Mně vyšlo 24 překladač mi to potvrdil ale je tam"správně" zatrhnuto 42. Sem blbý či co?

Neni v te pisemce nahodou
p = a*q ??? pak by to sedelo na tech 42
You can be the best or you can be the rest.
Ten, kdo se vzdává, nikdy nevítězí - a ten kdo vítězí se nikdy nevzdává.
Neříkej světu, co chces udělat, udělej to
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Příspěvek od Dawe »

Jo jasně, má tam být q, ale stejnak to nechápu. Pochopil jsem jak by se k tomu číslu dalo dostat, ale nepřijde mi to logický a hlavně mi překladač hází výsledek pořád 24 :cry:
Uživatelský avatar
twoflower
Supermatfyz(ák|ačka)
Příspěvky: 445
Registrován: 22. 9. 2004 21:07
Typ studia: Informatika Ph.D.
Kontaktovat uživatele:

Re: Písemka

Příspěvek od twoflower »

Lovec píše: Neni v te pisemce nahodou
p = a*q ??? pak by to sedelo na tech 42
To na vysledku nic nemeni.
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Příspěvek od Dawe »

Omlouvám se, blbě sem to přečet a pak i napsal, má to být takhle:
int a;

int f(int p, int & q)
{

a=p+q;
p=a*q;
return a+p;
}

int g()
{
a=3;
return f(a,a);
}
a je globální po celou dobu... pak už je mi to jasný...
Lovec
Matfyz(ák|ačka) level I
Příspěvky: 37
Registrován: 18. 1. 2005 17:38
Typ studia: Informatika Bc.
Bydliště: Kolej Otava - Jižní město
Kontaktovat uživatele:

Re: Písemka

Příspěvek od Lovec »

twoflower píše:
Lovec píše: Neni v te pisemce nahodou
p = a*q ??? pak by to sedelo na tech 42
To na vysledku nic nemeni.
jakto ze ne? kdyby tam bylo p = a*p tak se do p priradi 18, kdezto pri p = a*q se do p priradi 36
You can be the best or you can be the rest.
Ten, kdo se vzdává, nikdy nevítězí - a ten kdo vítězí se nikdy nevzdává.
Neříkej světu, co chces udělat, udělej to
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Příspěvek od Dawe »

No to jak jsem to tam měl napsaný původně s deklarací áčka uvnitř, tak se do a přiřadí každopádně 18.
Lovec
Matfyz(ák|ačka) level I
Příspěvky: 37
Registrován: 18. 1. 2005 17:38
Typ studia: Informatika Bc.
Bydliště: Kolej Otava - Jižní město
Kontaktovat uživatele:

Příspěvek od Lovec »

Dawe píše:No to jak jsem to tam měl napsaný původně s deklarací áčka uvnitř, tak se do a přiřadí každopádně 18.
Jsem z toho volaky zmeteny. Do a se tam prirazuje jen v radku a = p + q, kde p, q jsou urcite 3. Tedy do a se priradi 6 ne?
You can be the best or you can be the rest.
Ten, kdo se vzdává, nikdy nevítězí - a ten kdo vítězí se nikdy nevzdává.
Neříkej světu, co chces udělat, udělej to
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Příspěvek od Dawe »

JO do a se přiřadí 6, ale pak když počítáš P, tak a i q je 6 tudíž p=a*q = 36 => return a + p = 42;
Odpovědět

Zpět na „2004“