online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <iostream> #include <vector> using namespace std; template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة مُساعدة لقراءة عناصر مصفوفة void readArray(T *arr, int n) { for (int i = 0; i < n; ++i) { cout << "Enter El[" << i << "]: " << endl; cin >> arr[i]; } } template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة مُساعدة لطباعة عناصر مصفوفة void printArray(T *arr, int n) { cout << "["; for (int i = 0; i < n - 1; ++i) { cout << arr[i] << ", "; } cout << arr[n-1] << "]"; } template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة البحث في مصفوفة من أي نوع // تستقبل مصفوفة من النوع T و تبحث عن معلومة من نوع T // ترجع الدالة vector يضم جميع أماكن المعلومة في المصفوفة std::vector<int> search(T *arr, int n, T search) { std::vector<int> result; for (int i = 0; i < n; ++i) { // اللف حول عناصر المصفوفة if (arr[i] == search) { // في حالة تطابق العنصر الحالي من المصفوفة مع المعلومة التي نبحث عنها result.push_back(i); // نقوم بتخزين الموضع في ال vector } } return result; // نرجع ال vector } int main() { /* المثال الأول حيث عناصر المصفوفة عبارة عن أعداد */ int n_int; // تعريف متغير عدد لتخزين طول المصفوفة العددية cout << "Enter size of array: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال طول المصفوفة العددية cin >> n_int; // قراءة مُدخلات المُستخدم int array[n_int]; // تعريف مصفوفة عددية readArray(array, n_int); // قراءة عناصر المصفوفة العددية printArray(array, n_int); // طباعة عناصر المصفوفة التي أدخلها المًستخدم int s_int; // تعريف مُتغير لتخزين العدد الذي نريد البحث عنه cout << "\nEnter search: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال العدد الذي يريد البحث عنه في المصفوفة cin >> s_int; // قراءة العدد الذي سنبحث عنه std::vector<int> result = search(array, n_int, s_int); // إستدعاء دالة البحث و تمرير المُعاملات المطلوبة لها و تخزين الراجع cout << "\nresult: "; // طباعة عبارة لنتائج البحث printArray(&result[0], result.size()); // طباعة عناصر مصفوفة البحث /* * =============================================================================== * */ /* المثال الثاني حيث عناصر المصفوفة عبارة عن سلاسل نصية */ int n_string; // تعريف متغير عدد لتخزين طول المصفوفة النصية cout << "\nEnter size of array: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال طول المصفوفة النصية cin >> n_string; // قراءة مُدخلات المُستخدم string array_string[n_string]; // تعريف مصفوفة نصية readArray(array_string, n_string); // قراءة عناصر المصفوفة النصية printArray(array_string, n_string); // طباعة عناصر المصفوفة التي أدخلها المًستخدم string s_string; // تعريف مُتغير لتخزين السلسلة النصية الذي نريد البحث عنها cout << "\nEnter search: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال السلسلة النصية الذي يريد البحث عنها في المصفوفة cin >> s_string; // قراءة السلسلة النصية الذي سنبحث عنها std::vector<int> result_string = search(array_string, n_string, s_string); // إستدعاء دالة البحث و تمرير المُعاملات المطلوبة لها و تخزين الراجع cout << "\nresult: "; // طباعة عبارة لنتائج البحث printArray(&result_string[0], result_string.size()); // طباعة عناصر مصفوفة البحث }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue