GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2014. Január 14. - 19:45:29

Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: tudvari - 2014. Január 14. - 19:45:29
Sziasztok!
Az alábbira lennék kíváncsi: hogy fejezzük ki azt,hogy a változó egyenlõ-e a tömb valamelyik tagjával?
Elõre is köszi.
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Dfoglalo - 2014. Január 14. - 20:29:10
Ha jól értelmezem... ...esetleg egy ciklussal?
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: tudvari - 2014. Január 14. - 20:57:05
Ciklus nélkül.
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Lucio - 2014. Január 14. - 21:01:53
Ha jól értelmezem. Akkor: tomb[2] == 12 Vagyis a tömbnek a 2. tagja a 12.
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Dfoglalo - 2014. Január 14. - 21:03:19
Akkor egyenlõre nincs más ötletem. :-X :shurg: Majd csak rájön valaki más a megoldásra :D
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: tudvari - 2014. Január 14. - 21:20:25
Ciklussal könnyen meg lehetne oldani,de arra lennék kíváncsi,hogy van e etikusabb megoldás.
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Lucio - 2014. Január 14. - 21:22:35
Maximum while, de az ugyanaz meg bonyolultabb is kicsit
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Norby - 2014. Január 17. - 02:04:05
Igazából van megoldás bár elég furcsának találom a kérdést, hogy miért nem jó a ciklus? Na mindegy a megoldás a következõ:
Elég szokatlan megoldás, de a kérdésre válaszolva meg lehet oldani ciklus nélkül a dolgot
 
#define ARRAY_SIZE      15
new
arr[ARRAY_SIZE],
count = -1;
arr[14] = 20;
Ugras: count++;
if(count == ARRAY_SIZE) return print(\"nincs találat!\");
if(arr[count] != 20) {
    goto Ugras;
} else {
    print(\"14. tömb elem értéke 20\");
}
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Kovacs_Richard - 2014. Január 17. - 07:39:35

Igazából van megoldás bár elég furcsának találom a kérdést, hogy miért nem jó a ciklus? Na mindegy a megoldás a következõ:
Elég szokatlan megoldás, de a kérdésre válaszolva meg lehet oldani ciklus nélkül a dolgot
 
#define ARRAY_SIZE      15
new
arr[ARRAY_SIZE],
count = -1;
arr[14] = 20;
Ugras: count++;
if(count == ARRAY_SIZE) return print(\"nincs találat!\");
if(arr[count] != 20) {
    goto Ugras;
} else {
    print(\"14. tömb elem értéke 20\");
}

 

[/quote]
na ez nagyon nem szép megoldás :D egy jó ideje elavult :) ez a ciklus elõdje
 

Sziasztok!
Az alábbira lennék kíváncsi: hogy fejezzük ki azt,hogy a változó egyenlõ-e a tömb valamelyik tagjával?
Elõre is köszi.
 
[/quote]
ennél szerintem nincs egyszerûbb megoldás, bejárod a tömböt egy ciklussal és cellánként ellenõrzöd hogy egyenlõ e az érték...van rá még egy megoldás de azt nem ajánlom de azért leírom :)
 
#include 
public OnFilterScriptInit()
{
new tomb[5] = {0,1,2,3,4};
new valtozo = 4;
//
for(new i = 0; i < sizeof(tomb); i++)
{
    if(tomb == valtozo) { print(\"Egyenlõ\"); break; }
}
//
if(tomb[0] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[1] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[2] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[3] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[4] == valtozo) { print(\"Egyenlõ\"); }
//
return 1;
}
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Norby - 2014. Január 17. - 14:08:27

 

Igazából van megoldás bár elég furcsának találom a kérdést, hogy miért nem jó a ciklus? Na mindegy a megoldás a következõ:
Elég szokatlan megoldás, de a kérdésre válaszolva meg lehet oldani ciklus nélkül a dolgot
 
#define ARRAY_SIZE      15
new
arr[ARRAY_SIZE],
count = -1;
arr[14] = 20;
Ugras: count++;
if(count == ARRAY_SIZE) return print(\"nincs találat!\");
if(arr[count] != 20) {
    goto Ugras;
} else {
    print(\"14. tömb elem értéke 20\");
}

 

[/quote]
na ez nagyon nem szép megoldás :D egy jó ideje elavult :) ez a ciklus elõdje
 

Sziasztok!
Az alábbira lennék kíváncsi: hogy fejezzük ki azt,hogy a változó egyenlõ-e a tömb valamelyik tagjával?
Elõre is köszi.
 
[/quote]
ennél szerintem nincs egyszerûbb megoldás, bejárod a tömböt egy ciklussal és cellánként ellenõrzöd hogy egyenlõ e az érték...van rá még egy megoldás de azt nem ajánlom de azért leírom :)
 
#include 
public OnFilterScriptInit()
{
new tomb[5] = {0,1,2,3,4};
new valtozo = 4;
//
for(new i = 0; i < sizeof(tomb); i++)
{
    if(tomb == valtozo) { print(\"Egyenlõ\"); break; }
}
//
if(tomb[0] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[1] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[2] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[3] == valtozo) { print(\"Egyenlõ\"); }
if(tomb[4] == valtozo) { print(\"Egyenlõ\"); }
//
return 1;
}

 

[/quote]
Figyelj azt kérdezte van-e megoldás én leírtam neki az már mindegy hogy mikor hogy volt, de mûködik amúgy igazat adok neked, mert elavult.
Cím: A változó egyenlõ-e a tömb valamelyik tagjával
Írta: Kovacs_Richard - 2014. Január 22. - 07:30:21
aztán kicsit pontosított :)
 
Idézetet írta: tudvari date=1389730825\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45885\" data-ipsquote-contentclass=\"forums_Topic
Ciklussal könnyen meg lehetne oldani,de arra lennék kíváncsi,hogy van e etikusabb megoldás.