Szerző Téma: HasDuplicateValues  (Megtekintve 944 alkalommal)

HasDuplicateValues
« Dátum: 2011. március 27. - 17:13:32 »
0 Show voters
Fõ topic
Ez a funkció egy adott karakterlánc, számsorozat egyes elemeit hasonlítja össze szerepel-e benne duplán ugyanolyan érték.
Ha van egy egyezés a vissza térés értéke \"true\".
(Igazából a lottóscriptben használtam annak ellenõrzésére ne lehessen megadni egyforma nyerõszámokat.)
 

stock
    HasDuplicateValues(array[], size = sizeof array)
{
    for(new f = 0; f < size - 1; f++)
        for(new c = f + 1; c < size; c++)
            if(array[f] == array[c])
                return true;
    return false;
}

 
És a példa:
 

new
arr[] = { 21, 34, 45, 15, 56, 123, 34, 67 },
arr2[] = { 21, 34, 45, 56, 123, 36, 67 },
arr3[] = { 2, 5, 34, 56, 332, 67, 32, 43, 6554, 1234, 542},
arr4[] = { 4, 8, 10, 12, 3, -45, -78, 45, -78, 90},
arr5[] = { \'x\', \'d\', \'s\', \'e\', \'t\', \'r\', \'o\', 67, 23, \'r\'};
printf(\"Duplicate value in array?  %s\",  (HasDuplicateValues(arr))?(\"Yes\"):(\"No\"));
printf(\"Duplicate value in array?  %s\",  (HasDuplicateValues(arr2))?(\"Yes\"):(\"No\"));
printf(\"Duplicate value in array?  %s\",  (HasDuplicateValues(arr3))?(\"Yes\"):(\"No\"));
printf(\"Duplicate value in array?  %s\",  (HasDuplicateValues(arr4))?(\"Yes\"):(\"No\"));
printf(\"Duplicate value in array?  %s\",  (HasDuplicateValues(arr5))?(\"Yes\"):(\"No\"));
/*
[17:23:20] Duplicate value in array?  Yes
[17:23:20] Duplicate value in array?  No
[17:23:20] Duplicate value in array?  No
[17:23:20] Duplicate value in array?  Yes
[17:23:20] Duplicate value in array?  Yes
*/

 
Alap elve a következõ:
Az elsõ cella tartalmát hasonlítja össze a többi celláéval, majd a másodikét és így tovább, ez egy 10 cellás folyamatsorozatot próbál ábrázolni:
 

  • == [1],[2],[3],[4],[5],[6],[7],[8],[9]
  • [1] == [2],[3],[4],[5],[6],[7],[8],[9]
    [2] == [3],[4],[5],[6],[7],[8],[9]
    [3] == [4],[5],[6],[7],[8],[9]
    [4] == [5],[6],[7],[8],[9]
    [5] == [6],[7],[8],[9]
    [6] == [7],[8],[9]
    [7] == [8],[9]
    [8] == [9]
« Utoljára szerkesztve: 2011. november 22. - 19:44:23 írta APC »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal