Kezdőoldal » Közoktatás, tanfolyamok » Házifeladat kérdések » C programozás. Mi a megoldása...

C programozás. Mi a megoldása a következő feladatnak?

Figyelt kérdés

A függvény igazat ad vissza, ha a paraméter karakterláncban minden karakter legfeljebb egyszer fordul elő.


int egyszer (const char* s) {

char e[256] = {0};

/*hiányzó sor*/

return !*s;}



a, for (; *s && !e[*s]; s++) e[*s]=0;

b, for (; *s && !e[*s]; s++) e[*s]=1;

c, for (; *s && e[*s]; s++) e[*s]=0;

d, for (; *s && e[*s]; s++) e[*s]=1;



2023. jan. 11. 20:55
 1/4 anonim ***** válasza:
84%

A helyes megoldás:

b, for (; *s && !e[*s]; s++) e[*s]=1;


A függvény végigmegy a karakterláncban, és ellenőrzi, hogy az egyes karakterek már előfordultak-e a korábbi ciklusokban. Ha egy karakter még nem jelent meg, akkor e[*s]=1; értéket kap. Ha egy karakter már előfordult, akkor a e[*s] már 1 értéket tartalmaz, tehát a !e[*s] feltétel hamis lesz, és a ciklus kilép.


A return !*s; pedig azt jelenti, hogy ha a ciklus végigjárt az összes karaktert, akkor a !*s igaz lesz, tehát a függvény visszatér igazzal.

2023. jan. 11. 21:11
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Köszönöm! És a magyarázatot is!


Esetleg még ebben is tudnál segíteni?

A legkisebb elemet kell megtalálni.


int min(const int *t, int n) {

/hiányzó sor/

for (i=1; i<n; i++)

if(t[i]<min) min = t[i];

return min; }


a, int min = *t, i;

b, int min = &t, i;

c, const int* min = *t, i;

d, const int* min = t, i;

e, const int min = *t, i;

2023. jan. 11. 21:20
 3/4 anonim ***** válasza:

A helyes válasz a) "int min = *t, i;"

Azért mert:


"int min" : az "min" változót egész számként deklarálja

"= *t": az "min" változót az "t" tömb első elemével inicializálja. Mivel "t" egy int-re mutató pointer, a "*t" azt az értéket adja vissza, ami az adott memóriacímen található.

"i": az "i" változót is egész számként deklarálja

A többi válasz nem működne megfelelően, mert:


b), "int min = &t, i;" : az "min" változó értékét a memória címével inicializálná

c), "const int* min = *t, i;": az "min" változót const int-re mutató pointerként deklarálná

d), "const int* min = t, i;" : hasonlóképpen, az "min" változót int-re mutató pointerként deklarálná, de itt const-ot nem használ.

e), "const int min = *t, i;" : az "min" változót const egész számként deklarálná, ami után nem lehetne módosítani az értékét a későbbi ciklusokban.

2023. jan. 11. 22:11
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

(Amúgy mindkét választ úgy kaptam, hogy a ChatGPT-be beraktam a kérdésed és ide beillesztettem a válaszát. Ennyire részletesen magamtól nem fejtettem volna ki.


Tehát egyszerűbb ha a jövőben a ChatGPT-t használod

[link]

2023. jan. 11. 22:12
Hasznos számodra ez a válasz?

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

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!