تابعی در سیپلاسپلاس که یک عدد int را در آرایه ای از نوع int جستجو کند و در صورت پیدا کردن آن اندیس آن (شماره ی آن عضو در آرایه) را برگرداند.
در صورتی که عضو مشخص شده پیدا نشد تابع عدد -۱ را بر می گرداند.
این تابع چهار پارامتر دارد.
۱- خود آرایه
۲- اندازه ی آرایه
۳- عددی که می خواهیم جستجو شود.
۴- اندیس شروع (جستجو از چه اندیسی شروع شود)
در نهایت تابع main هم برای آزمایش این تابع نوشتیم.
// Search in an integer array // C++ Programming // By: Marjan // Website: Samiantec.ir #include#include using namespace std; int indexOf(int[], int, int, int); int main() { int size, find; int *x; cout << "Enter size of array: "; cin >> size; if (size < 0) { cout << "Size can't be negative."; return 0; } x = new int[size]; for (int i = 0; i < size; i++) cin >> x[i]; cout << "find what?"; cin >> find; cout << indexOf(x, size, find, 0); getch(); return 0; } int indexOf(int a[], int arraySize, int find, int start) { for (int i = start; i < arraySize; i++) if (a[i] == find) return i; return -1; }
سلام
اگه بخوایم کاری کنیم که اگه عدد ورودی مون تو آرایه نبود ارور یا پیغامی نشون بده باید چه کار کنیم؟
سلام
توی خط 27 یک شرط بنویسید که اگه مقدار indexOf(x, size, find, 0) برابر منفی یک شد پیغام خطای مورد نظرتون مبنی بر پیدا نشدن چاپ بشه…
در غیر اینصورت مستقیم مقدار رو چاپ کنه