C++: PHP'owe in_array

0

Hejka

Czy istnieje funkcja sprawdzająca czy podana wartość jest w tablicy ala PHP'owe in_array();

jeśli nie ma takiej funkcji jak to sprawdzić

0
template<class T>
bool in_array(T* arr, int num, T val)
{
	return std::find(arr, arr + num, val) != arr + num;
}
0

Rev jestem newbie w programowaniu w BCB więc trochę jaśniej

Do czego służy drugi parametr ?? może jakiś przykład zastosowania

mam tablice char spolgloski[23] = {'B','C','Ć','D','F','G','H','J','K','L','Ł','M','N','Ń','P','R','S','Ś','T','W','Z','Ź','Ż'} i podczas wpisywania tekstu do Edit ma zadziałać tylko wtedy gdy podany znak jest w tablicy

0

Trochę prostszy kod (bez szablonów):

bool in_array(char *array, int length, char seeked)
{
    for(int i = 0; i < length; i++) { if (array[i] == seeked) { return true; } }
    return false;
}

Przykłady zastosowania (dla obydwóch kodów takie samo użycie)

cout << in_array(spolgloski, 23, 'B') << endl;
cout << in_array(spolgloski, 23, 'A') << endl;
cout << in_array(spolgloski, 23, 'E') << endl;
cout << in_array(spolgloski, 23, 'c') << endl;
0

albo set'a wykorzystać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1