Kezdőoldal » Számítástechnika » Programozás » Vágod ezt a kódot? Mi a megoldás?

Vágod ezt a kódot? Mi a megoldás?

Figyelt kérdés

#include <stdio.h>


void f1(int*, int) ;


void f2(int*, int) ;


void (*p[2])(int*, int);


int main(void)


{


int a = 3;


int b = 5;


p[0] = f1;


p[1] = f2;


p[0] (&a, b);


printf("%d%d", a, b);


p[1] (&a, b);


printf("%d%d" , a, b);


return 0;


}


void f1(int *p, int q)


{


int tmp = *p;


*p = q;


q = tmp;


}


void f2(int *p, int q)


{


int tmp = *p;


*p = q;


q = tmp;


}



2020. okt. 3. 12:01
1 2
 11/18 anonim ***** válasza:
Valaki úgy látom megfejtette, mert levették az álláshirdetést. :)
2020. okt. 4. 19:20
Hasznos számodra ez a válasz?
 12/18 anonim ***** válasza:
15%
Akin ez kifog, az inkább ne is programozzon.
2020. okt. 5. 12:06
Hasznos számodra ez a válasz?
 13/18 A kérdező kommentje:

"Akin ez kifog, az inkább ne is programozzon."


Ez elég buta kijelentés. Nem a kód a lényeg szerintem, és nem is a programozási nyelv, ami igazándiból fontos, hogy képes vagy e megoldani valódi problémákat. A programozási nyelv csak egy eszköz, ezt sokan elfelejtik, mikor lenézik a másikat.

2020. okt. 5. 14:30
 14/18 anonim ***** válasza:
18%
Azért szerintem a memóriamenedzsment egy elég fontos szempontja a szoftverfejlesztésnek. Azért jó a C és a C++, mert a saját szemeddel látod, hogy mikor dolgozol memóriacímekkel. Ha a pointer-aritmetika nincs meg a fejedben, akkor hogyan fogsz tudni akkor odafigyelni a memóriára, amikor maga a nyelv rejti el előled azt, hogy mikor dolgozol érték-, és mikor referenciatípussal? Aztán nézel, hogy miért kell a programodnak 6 GB RAM. Hogy fogod megérteni, hogy mondjuk C#-ban mik azok a delegate-ek, ha a függvénypointer elvi működését nem érted?
2020. okt. 5. 15:10
Hasznos számodra ez a válasz?
 15/18 anonim ***** válasza:
Nem beszélve a C# 7.3-ban (azt hiszem) bevezetett ref local-ról...
2020. okt. 5. 15:11
Hasznos számodra ez a válasz?
 16/18 anonim ***** válasza:
61%
#14 már ne haragudj de baromságot beszélsz. Aki tanult C-t az nem így tanulta, nem ehhez hasonló feladatokat kellett megoldania. A kérdező által linkelt kódrészlet persze működik meg lefordul, de már inkább IOCCC-re való. Bohóckodásnak jó, de aki C-vel dolgozik az nem ilyen kódot ír, és nem ilyen munkát várnak tőle.
2020. okt. 5. 17:45
Hasznos számodra ez a válasz?
 17/18 anonim ***** válasza:
0%

#14 Ennyi erővel akkor azt is mondhatnád, hogy akin ez kifog az ne is programozzon:


e,n,j,o,y;main(){for(++o;n=-~getchar();e+=11==n,y++)o=n>0xe^012>n&&'`'^n^65?!n:!o?++j:o;printf("%8d%8d%8d\n",e^n,j+=!o&&y,y);}



IOCCC-ről van, lefordul és működik.

2020. okt. 5. 17:50
Hasznos számodra ez a válasz?
 18/18 anonim ***** válasza:
0%

"A kérdező által linkelt kódrészlet persze működik meg lefordul, de már inkább IOCCC-re való."

Sajnálom, nem tudtam, hogy itt annyira alacsony a színvonal, hogy már az alapismeretek is kifogjanak az embereken. Ez programtervező informatikus szakon a prog1 tananyaga, második félévben. Ha a jelentkező ezzel sincs képben, hogy bízol rá komplex feladatot? Ha ezt nem tudja megoldani, az azt jelenti, hogy a nyelv alapjaival sincs tisztában, vagy nem tud emberi olvasásra szánt kódot értelmezni.


És komplex alatt nem az IOCCC-ről vett példádat értem. Fel sem tudom fogni, hogy kerül egyáltalán összehasonlításra itt egy prog1-es tananyag egy profi programozóknak szánt versenyfeladattal.

2020. okt. 5. 18:45
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!