Hogyan tudom megoldani ezeket a feladatokat C-ben?
1. Meg kell írnom egy függvényt, ami megkeresi 3 szám közül a legkisebbet, de úgy, hogy a a paraméterek const int-ben vannak megadva. Próbálkoztam vele, de a codeblocksom mindig az írja ki, hogy read only parameter.
Így néz ki a függvényem:
int min(const int a,const int b,const int c){
int min;
a=min;
if (b<min) b=min;
if (c<min) c=min;
printf("%d",min);
return 0 ;
} <- Mit rontottam el, vagy hogyan lehetne olyan maint írni, ami engedi???
2. Hogyan tudom eldönteni, hogy egy szam hexadecimális, ha ilyen függvényt kell írnom?
int isxDigit(const char c)
3. Hogyan tudom ezt a függvényt megírni (char last(const char string[]))? Ki kell íratni a string utolsó betűjét. Gondolkozom a strlen-en, de az nem ide való igaz?
Minden kedves válaszolónak előre is köszönöm a segítséget!
1)
min = (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a)
2)
Hexa számok 0x-el kezdődnek.
0xFF = 255
Csak is legritkább esetekben használjuk közvetlenül. Továbbá minden karakternek van egy ASCII kódja, amit %d vagy %i-vel 10es számrendszerben ír ki. Tehát, hogy egy karaktert hogyan értelmezel az már a te hatásköröd.
3) Minden használható ha megoldja a problémát. Tehát ha tudod a hosszát, akkor onnantól egyszerű. DE! Az utolsó elem a tömb lezáró: tehát nem azaz utolsó karakter.
(bár C-t régen használtam, így már nem vagyok biztos benne, hogy a strlen beleszámolja-e)
char* str = "valami szoveg";
printf("%c", str[strlen(str) - 1]);
1)
a = min; Helyett inkabb min=a, mindharom alkalommal.
nem csoda hogy azt írja read only parameter, hisz egy konstanst próbálsz megváltoztatni, amikor azt írod hogy a=min
ráadásul min-t nem is inicializáltad előtte
Nem túl szerencsés ha a függvényed neve megegyezik a változó nevével:
int min(const int a,const int b,const int c){
int min;
...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!