Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Jak porówniać tablice
Temat rozp. Marox44, 20.02.2011 18:25
8 odpowiedzi w tym temacie
#1
Napisano 20.02.2011 18:25
Wiem, że temat już staary, ale mam pytanie co do tablic standardowych. Da się zrobić coś takiego, jak porównać dane dwóch tablic?
Chodzi mi o np. coś takiego:
JEDNA TABLICA
DRUGA TABLICA
Obie mają taką samą liczbę pól, i zawierają tylko liczby naturalne.
ZERO WSPÓLNYCH LICZB:
robi coś
JEDNA WSPÓLNA LICZBA:
robi coś
DWIE WSPÓLNE LICZBY:
robi coś
I tak dalej...
Prosiłbym o wyjaśnienie czy jest w ogóle takie coś możliwe, oraz jak by takie coś wyglądało.
Pozdrawiam,
Chodzi mi o np. coś takiego:
JEDNA TABLICA
DRUGA TABLICA
Obie mają taką samą liczbę pól, i zawierają tylko liczby naturalne.
ZERO WSPÓLNYCH LICZB:
robi coś
JEDNA WSPÓLNA LICZBA:
robi coś
DWIE WSPÓLNE LICZBY:
robi coś
I tak dalej...
Prosiłbym o wyjaśnienie czy jest w ogóle takie coś możliwe, oraz jak by takie coś wyglądało.
Pozdrawiam,
#2
Napisano 20.02.2011 18:54
Przeniosłem tu ten temat
Musisz przejść przez wszystkie kombinacje indeksów i sprawdzać czy są takie same
Musisz przejść przez wszystkie kombinacje indeksów i sprawdzać czy są takie same
public plugin_init() { log_amx "%d", getIntersect({1, 2, 3}, {4, 3, 2, 1}); log_amx "%d", getIntersect({1, 2, 3, 4, 5}, {4, 3, 2, 1}); log_amx "%d", getIntersect({5, 6, 7, 5, 6, 7}, {8, 9, 10, 1}); log_amx "%d", getIntersect({1}, {4, 3, 2, 1}); } getIntersect(const Array1[], const Array2[], len1 = sizeof Array1, len2 = sizeof Array2){ //Second Less Than First new bool:sltf = (len1 > len2); new iCount = 0; new iLen = max(len1, len2); new iLen2 = min(len1, len2); for(new i=0;i<iLen;i++) for(new j=0;j<iLen2; j++) if(sltf ? (Array1[i] == Array2[j]) : (Array2[i] == Array1[j]) ) iCount++; return iCount; }
#3
Napisano 20.02.2011 19:30
Acha....
A można by to było jakoś prośiej zrobić np. na zmiennych?
U mnie to ma być 6 liczb tu 6 liczb tam .
I tak jak pisałem porównać ile pasuje... wiem, że to pewnie głupie pytania ale w tym temacie to zielony jestem
więc trzeba to tablicami czy mnożna jakoś prościej....
A można by to było jakoś prośiej zrobić np. na zmiennych?
U mnie to ma być 6 liczb tu 6 liczb tam .
I tak jak pisałem porównać ile pasuje... wiem, że to pewnie głupie pytania ale w tym temacie to zielony jestem
więc trzeba to tablicami czy mnożna jakoś prościej....
Użytkownik Marox44 edytował ten post 20.02.2011 19:32
#4
Napisano 20.02.2011 23:03
Napisałem Ci funkcję do porównywania dowolnych tablic, a Ty marudzisz?
new Tablica[6], Tablica2[6]; new ileWspólnych = getIntersect(Tablica, Tablica2);
#5
Napisano 21.02.2011 07:32
Ok dzięks, mam tylko jeszcze pytanko jak wprowadzić te liczby do tablicy oddzielnie? Jak je oddzielić... przecinkiem się nie da, próbowałem.
Użytkownik Marox44 edytował ten post 21.02.2011 07:33
#6
Napisano 21.02.2011 13:13
przez deklarację
new Tablica[6] = {1,2,3,4,5,6};przez przypisanie
new Tablica[6]; Tablica[0] =1; Tablica[1] =2; Tablica[2] =3; Tablica[3] =4; Tablica[4] =5; Tablica[5] =6;
#7
Napisano 21.02.2011 22:22
na razie próbuje tworzyć prosty kod w oparicu o te informacje i tak:
Chodzi mi o to, że ktoś wpisuje w konsoli amx_lotto "1" "6" "12" "23" "32" "67" i pokazuje mu na czacie co wpisał. (wiem, że troche to dziwne ale to dopiero pierwsze kroki )
Spróbowałem, tak jak wyżej napisałem, lecz wyskakuje ciągle 49, 49, 49, 49, 49, 49.
Chciałem sam coś z pomocą poradników ale niestety nic z tego , jakby był ktoś skory pomóc....
Chyba źle pobieram te argumenty z komendy....
Pomyśle jeszcze nad tym trzeźwo rano
new liczby_typowane[6]
register_clcmd("amx_lotto","lotto",_, "<liczba1> <liczba2> <liczba3> <liczba4> <liczba5> <liczba6>")
read_argv(1, liczby_typowane[0], 2);
read_argv(2, liczby_typowane[1], 2);
read_argv(3, liczby_typowane[2], 2);
read_argv(4, liczby_typowane[3], 2);
read_argv(5, liczby_typowane[4], 2);
read_argv(6, liczby_typowane[5], 2);
client_print(id, print_chat, "Twoje liczby to: %i, %i, %i, %i, %i, %i", liczby_typowane[0], liczby_typowane[1], liczby_typowane[2], liczby_typowane[3], liczby_typowane[4], liczby_typowane[5])
Chodzi mi o to, że ktoś wpisuje w konsoli amx_lotto "1" "6" "12" "23" "32" "67" i pokazuje mu na czacie co wpisał. (wiem, że troche to dziwne ale to dopiero pierwsze kroki )
Spróbowałem, tak jak wyżej napisałem, lecz wyskakuje ciągle 49, 49, 49, 49, 49, 49.
Chciałem sam coś z pomocą poradników ale niestety nic z tego , jakby był ktoś skory pomóc....
Chyba źle pobieram te argumenty z komendy....
Pomyśle jeszcze nad tym trzeźwo rano
Użytkownik Marox44 edytował ten post 21.02.2011 22:28
#8
Napisano 21.02.2011 22:39
chyba dałeś za mało kodu... -.-'
@down czyli nie dałeś wszystkiego co powinieneś dać żebyśmy ci pomogli
@down czyli nie dałeś wszystkiego co powinieneś dać żebyśmy ci pomogli
Użytkownik FreZZy edytował ten post 22.02.2011 08:42
#9
Napisano 22.02.2011 07:33
hmmm , czyli?
Dodano 22 luty 2011 - 12:48:
Dodano 24 luty 2011 - 20:40:
odświeżam Jest już wystarczająco kodu?
Dodano 24 luty 2011 - 20:41:
PS. jest cały plugin
Dodano 22 luty 2011 - 12:48:
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Lotto"
#define VERSION "1.0"
#define AUTHOR "Dr. House"
new liczby_typowane[6]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("lotto","lotto",_, "<liczba1> <liczba2> <liczba3> <liczba4> <liczba5> <liczba6>")
}
public lotto (id) {
read_argv(1, liczby_typowane[0], 2);
read_argv(2, liczby_typowane[1], 2);
read_argv(3, liczby_typowane[2], 2);
read_argv(4, liczby_typowane[3], 2);
read_argv(5, liczby_typowane[4], 2);
read_argv(6, liczby_typowane[5], 2);
client_print(id, print_chat, "Twoje liczby to: %i, %i, %i, %i, %i, %i", liczby_typowane[0], liczby_typowane[1], liczby_typowane[2], liczby_typowane[3], liczby_typowane[4], liczby_typowane[5])
}
Dodano 24 luty 2011 - 20:40:
odświeżam Jest już wystarczająco kodu?
Dodano 24 luty 2011 - 20:41:
PS. jest cały plugin
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych