#include <iostream>
#include <cstddef>
int* find(int target, int* start, int* stop)
{
while (start < stop)
{
if (*start == target)
{
return start;
}
++start;
}
return nullptr;
}
int main()
{
int someArray[] = {3,10,19,7,3,45,123,4,9,89};
int *start = &someArray[0];
int *stop = &someArray[10];
std::cout << "Enter a number to find: ";
int num;
std::cin >> num;
int *found = find(num, start, stop);
if (found)
std::cout << "Found at index " << static_cast<ptrdiff_t>(found - start);
else
std::cout << "Not found";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGRlZj4KCmludCogZmluZChpbnQgdGFyZ2V0LCBpbnQqIHN0YXJ0LCBpbnQqIHN0b3ApCnsgICAgCiAgICB3aGlsZSAoc3RhcnQgPCBzdG9wKQogICAgewogICAgICAgIGlmICgqc3RhcnQgPT0gdGFyZ2V0KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHN0YXJ0OwogICAgICAgIH0gICAgCiAgICAgICAgKytzdGFydDsKICAgIH0KCiAgICByZXR1cm4gbnVsbHB0cjsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgc29tZUFycmF5W10gPSB7MywxMCwxOSw3LDMsNDUsMTIzLDQsOSw4OX07CgogICAgaW50ICpzdGFydCA9ICZzb21lQXJyYXlbMF07CiAgICBpbnQgKnN0b3AgPSAmc29tZUFycmF5WzEwXTsKCiAgICBzdGQ6OmNvdXQgPDwgIkVudGVyIGEgbnVtYmVyIHRvIGZpbmQ6ICI7CgogICAgaW50IG51bTsKICAgIHN0ZDo6Y2luID4+IG51bTsKCiAgICBpbnQgKmZvdW5kID0gZmluZChudW0sIHN0YXJ0LCBzdG9wKTsKICAgIGlmIChmb3VuZCkKICAgICAgICBzdGQ6OmNvdXQgPDwgIkZvdW5kIGF0IGluZGV4ICIgPDwgc3RhdGljX2Nhc3Q8cHRyZGlmZl90Pihmb3VuZCAtIHN0YXJ0KTsKICAgIGVsc2UKICAgICAgICBzdGQ6OmNvdXQgPDwgIk5vdCBmb3VuZCI7CgogICAgcmV0dXJuIDA7Cn0=