Ahmed Jamal3 نشر 10 ديسمبر 2020 أرسل تقرير نشر 10 ديسمبر 2020 السلام عليكم ورحمة الله وبركاته أرجو المساعدة في حل البرنامج المرفق في الملف البرنامج بلغة ++c DS-Mid-CSE-Practical-2020.pdf 1 اقتباس
0 محمد الملواني نشر 10 ديسمبر 2020 أرسل تقرير نشر 10 ديسمبر 2020 السلام عليكم التمرين المرفق هو تمرين يطلب الاتي تطبيق غير قابل للاغلاق التلقائي و لعمل تلك النقطه #include <iostream> using namespace std; int run = 1; // قيمة متغيرة عامة على مستوى التطبيق int main() { // هذه الداله تبحث في قيمة المتغير run // في حالة تغيرة قيمة run يتوقف التطبيق while (run == 1) { } } يتبع في التطبيق مطلوب قائمة اوامر يتم التنقل بين اوامرها و فيها امر اغلاق التطبيق #include <iostream> using namespace std; int run = 1; // قيمة متغيرة عامة على مستوى التطبيق // دالة لطباعة قائمة الاوامر void displayMenu() { cout << " Main Menu " << "\n" ; cout << "==============================" << "\n" ; cout << " 1 -- Inster String" << "\n" ; cout << " 2 -- Print Reserved " << "\n"; cout << " 3 -- Print Normall " << "\n"; cout << " 4 -- Exit Program" << "\n"; cout << " \nPlease Enter Your Choice : " ; } int main() { // هذه الداله تبحث في قيمة المتغير run // في حالة تغيرة قيمة run يتوقف التطبيق while (run == 1) { int put; // متغير للتنقل بين اوامر القائمة std::cin >> put ; // كود استقبال الامر switch(put) // كود التدقيق في المدخلات و التنقل { case 1: // في حالة كان الادخال 1 displayMenu(); break; case 2: // في حالة كان الادخال 2 displayMenu(); break; case 3: // في حالة كان الادخال 3 displayMenu(); break; case 4: // في حالة كان الادخال 4 لانهاء التطبيق cout<< "\nThank You For using my program" ; run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق break; }; } } يتبع طلب التطبيق اول امر في القائمة ادخال نص #include <iostream> using namespace std; int run = 1; // قيمة متغيرة عامة على مستوى التطبيق string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم // دالة لطباعة قائمة الاوامر void displayMenu() { cout << " Main Menu " << "\n" ; cout << "==============================" << "\n" ; cout << " 1 -- Inster String" << "\n" ; cout << " 2 -- Print Reserved " << "\n"; cout << " 3 -- Print Normall " << "\n"; cout << " 4 -- Exit Program" << "\n"; cout << " \nPlease Enter Your Choice : " ; } // دالة لتنفيذ عملية ادخال النص في case 1 void savestring (){ cout << "\nPlease Enter Your string : " ; std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات displayMenu(); } int main() { displayMenu(); // اظهار القائمة عند بدء تشغيل التطبيق // هذه الداله تبحث في قيمة المتغير run // في حالة تغيرة قيمة run يتوقف التطبيق while (run == 1) { int put; // متغير للتنقل بين اوامر القائمة std::cin >> put ; // كود استقبال الامر switch(put) // كود التدقيق في المدخلات و التنقل { case 1: // في حالة كان الادخال 1 // displayMenu(); savestring(); // ادخال النص و اظهار القائمة break; case 2: // في حالة كان الادخال 2 displayMenu(); break; case 3: // في حالة كان الادخال 3 displayMenu(); break; case 4: // في حالة كان الادخال 4 لانهاء التطبيق cout<< "\nThank You For using my program" ; run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق break; }; } } اقتباس
0 محمد الملواني نشر 10 ديسمبر 2020 أرسل تقرير نشر 10 ديسمبر 2020 طلب التطبيق تحويل النص الى مصفوفه و عرضه في التطبيق #include <iostream> #include <bits/stdc++.h> using namespace std; int run = 1; // قيمة متغيرة عامة على مستوى التطبيق string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم // دالة لطباعة قائمة الاوامر void displayMenu() { cout << " Main Menu " << "\n" ; cout << "==============================" << "\n" ; cout << " 1 -- INPUT A STRING" << "\n" ; cout << " 2 -- PRINT A STACK " << "\n"; cout << " 3 -- PRINT A QUEUE " << "\n"; cout << " 4 -- Exit " << "\n"; cout << " \nPlease Enter Your Choice : " ; } // دالة لتنفيذ عملية ادخال النص في case 1 void savestring (){ cout << "\nPlease Enter Your string : " ; std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات cout << "\n- " << datastr << " String Inserted \n\n " ; displayMenu(); } // دالة تحويل النص الى مصفوفه void stringtoarray(){ cout << "\n" << "A string in a queue " << "\n"; int n = datastr.length(); // حساب حروف النص char char_array[n + 1] ; // انشاء مصفوفه strcpy(char_array, datastr.c_str()); // انشاء المصفوفه for(int i = 0; i < n; i++){ // طباعة النص cout << char_array[i] << " "; }; cout << "\n"; displayMenu(); } int main() { displayMenu(); // هذه الداله تبحث في قيمة المتغير run // في حالة تغيرة قيمة run يتوقف التطبيق while (run == 1) { int put; // متغير للتنقل بين اوامر القائمة std::cin >> put ; // كود استقبال الامر switch(put) // كود التدقيق في المدخلات و التنقل { case 1: // في حالة كان الادخال 1 // displayMenu(); savestring(); // ادخال النص و اظهار القائمة break; case 2: // في حالة كان الادخال 2 displayMenu(); break; case 3: // في حالة كان الادخال 3 stringtoarray(); break; case 4: // في حالة كان الادخال 4 لانهاء التطبيق cout<< "\nThank You For using my program" ; run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق break; }; } } اقتباس
0 محمد الملواني نشر 10 ديسمبر 2020 أرسل تقرير نشر 10 ديسمبر 2020 الحل النهائي بكامل الامكانيات المطلوبه #include <iostream> #include <bits/stdc++.h> using namespace std; int run = 1; // قيمة متغيرة عامة على مستوى التطبيق string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم // دالة لطباعة قائمة الاوامر // A structure to represent a stack class Stack { public: int top; unsigned capacity; char* array; }; // function to create a stack of given // capacity. It initializes size of stack as 0 Stack* createStack(unsigned capacity) { Stack* stack = new Stack(); stack->capacity = capacity; stack->top = -1; stack->array = new char[(stack->capacity * sizeof(char))]; return stack; } void displayMenu() { cout << " Main Menu " << "\n" ; cout << "==============================" << "\n" ; cout << " 1 -- INPUT A STRING" << "\n" ; cout << " 2 -- PRINT A STACK " << "\n"; cout << " 3 -- PRINT A QUEUE " << "\n"; cout << " 4 -- Exit " << "\n"; cout << " \nPlease Enter Your Choice : " ; } // دالة لتنفيذ عملية ادخال النص في case 1 void savestring (){ cout << "\nPlease Enter Your string : " ; std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات cout << "\n- " << datastr << " String Inserted \n\n " ; displayMenu(); } // دالة تحويل النص الى مصفوفه void stringtoarray(){ cout << "\n" << "A string in a queue " << "\n"; int n = datastr.length(); // حساب حروف النص char char_array[n + 1] ; // انشاء مصفوفه strcpy(char_array, datastr.c_str()); // انشاء المصفوفه for(int i = 0; i < n; i++){ // طباعة النص cout << char_array[i] << " "; }; cout << "\n"; displayMenu(); } // التاكد ان الحرف اخر حرف في المصفوفه int isFull(Stack* stack) { return stack->top == stack->capacity - 1; } // التاكد من اول حرف في المصفوفه int isEmpty(Stack* stack) { return stack->top == -1; } // اضافة محتويات النص بالعكس void push(Stack* stack, char item) { if (isFull(stack)) return; stack->array[++stack->top] = item; } char pop(Stack* stack) { if (isEmpty(stack)) return -1; return stack->array[stack->top--]; } // دالة A string in a stack void strreverse(){ int n = datastr.length(); char str_arr[n + 1] ; strcpy(str_arr, datastr.c_str()); int y = strlen(str_arr); Stack* stack = createStack(y); // Push all characters of string to stack int i; for (i = 0; i < y; i++) push(stack, str_arr[i]); // Pop all characters of string and // put them back to str for (i = 0; i < y; i++) { str_arr[i] = pop(stack); } cout << str_arr << "\n "; displayMenu(); } int main() { displayMenu(); // هذه الداله تبحث في قيمة المتغير run // في حالة تغيرة قيمة run يتوقف التطبيق while (run == 1) { int put; // متغير للتنقل بين اوامر القائمة std::cin >> put ; // كود استقبال الامر switch(put) // كود التدقيق في المدخلات و التنقل { case 1: // في حالة كان الادخال 1 // displayMenu(); savestring(); // ادخال النص و اظهار القائمة break; case 2: // في حالة كان الادخال 2 strreverse(); // A string in a stack function break; case 3: // في حالة كان الادخال 3 stringtoarray(); break; case 4: // في حالة كان الادخال 4 لانهاء التطبيق cout<< "\nThank You For using my program" ; run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق break; }; } } اقتباس
السؤال
Ahmed Jamal3
السلام عليكم ورحمة الله وبركاته
أرجو المساعدة في حل البرنامج المرفق في الملف
البرنامج بلغة ++c
DS-Mid-CSE-Practical-2020.pdf
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.