نيلاي
-
المساهمات
23 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
أجوبة بواسطة نيلاي
-
-
-
شكرا لك اخ عمر جزاك الله خير
-
-
-
شكراً لك
- 1
-
ما هي أنواع الخوارزميات الجشعة؟ - What is the types of greedy algorithms
-
بتاريخ On 27/6/2020 at 00:58 قال ماجد قطوسة:
أهلا بك
على حسب ما فهمت من حضرتك ، فإنه مطلوب منك عمل خوارزمية بطريقة ال recursion أي أن يعيد الإقتران نداء نفسه و ليس بطرقة الـ loop
هذا كود للخوارزمية بلغة ال c++
// خوارزمية بلغة ال C++ // recursion // للتحول من بايناري الى دسمال #include <bits/stdc++.h> using namespace std; // الإقتران الأساسي int MybinaryVal(double par) { // فحص الرقم المدخل اذا كان مساوي للصفر if (par == 0) { return 0; // اذا كان الرقم أقل من صفر ف هو غير مقبول }else if(par < 0 ){ return "number par must be postive" ; // اذا كان الرقم أكبر من صفر يتم تنفيذ الإقتران }else{ return (decimal_number % 2 + 10 * MybinaryVal(par / 2)); } } // كود التسشغيل int main() { int par = 10; cout << MybinaryVal(par); return 0; }
طبقت البرنامج على الc++shell ولكن ظهرت اغلاط ولم يشتغل البرنامج
بتاريخ 9 ساعات قال Hamada Sayed:حل السؤال بلغه cpp
شكرا اخي العزيز ولكن هل لا مانع لديك ان تكتب البرنامج في الc++ اقدر جهدك وجزاك الله خير
-
بتاريخ 19 ساعات قال ماجد قطوسة:
أهلا بك
على حسب ما فهمت من حضرتك ، فإنه مطلوب منك عمل خوارزمية بطريقة ال recursion أي أن يعيد الإقتران نداء نفسه و ليس بطرقة الـ loop
هذا كود للخوارزمية بلغة ال c++
// خوارزمية بلغة ال C++ // recursion // للتحول من بايناري الى دسمال #include <bits/stdc++.h> using namespace std; // الإقتران الأساسي int MybinaryVal(double par) { // فحص الرقم المدخل اذا كان مساوي للصفر if (par == 0) { return 0; // اذا كان الرقم أقل من صفر ف هو غير مقبول }else if(par < 0 ){ return "number par must be postive" ; // اذا كان الرقم أكبر من صفر يتم تنفيذ الإقتران }else{ return (decimal_number % 2 + 10 * MybinaryVal(par / 2)); } } // كود التسشغيل int main() { int par = 10; cout << MybinaryVal(par); return 0; }
شكرا اخي الكريم جزاك الله خير 💜💜
-
-
بتاريخ 11 ساعات قال محمد ربيع زليول:
ستجدين الشرح الكامل للخوارزمية في هذه الصفحة: الترتيب بالإدراج.
تشرح الصفحة طريقة عمل الخوارزمية مع شرح إنشائها بالطريقة التكرارية والتعاودية مع الأكواد.
حسب السؤال المشار من طرفك، ستحتاجين الطريقة التعاودية.
حل الخوارزمية كالتالي:
#include <iostream> using namespace std; void insertionSortRecursiveAscending (int arr[], int n) { // الحالة الأساس if (n <= 1) return; // n-1 ترتيب أول العناصر التي تحمل القيمة insertionSortRecursiveAscending( arr, n-1 ); // إدراج العنصر الأخير في مكانه الصحيح ضمن المصفوفة المرتبة int last = arr[n-1]; int j = n-2; /* تحريك العناصر في المصفوفة arr[0..i-1] والتي تكون أكبر من المفتاح المعطى بمقدار موقع واحد عن موقعها الحالي */ while (j >= 0 && arr[j] > last) { arr[j+1] = arr[j]; j--; } arr[j+1] = last; } void insertionSortRecursiveDescending(int arr[], int n) { // الحالة الأساس if (n <= 1) return; // n-1 ترتيب أول العناصر التي تحمل القيمة insertionSortRecursiveDescending( arr, n-1 ); // إدراج العنصر الأخير في مكانه الصحيح ضمن المصفوفة المرتبة int last = arr[n-1]; int j = n-2; /* تحريك العناصر في المصفوفة arr[0..i-1] والتي تكون أصغر من المفتاح المعطى بمقدار موقع واحد عن موقعها الحالي */ while (j >= 0 && arr[j] < last) { arr[j+1] = arr[j]; j--; } arr[j+1] = last; } // دالة مساعدة لطباعة محتويات المصفوفة void printArray(int arr[], int n) { for (int i=0; i < n; i++) cout << arr[i] <<" "; cout << endl; } /* اختبار الدوال السابقة */ int main() { int i; int arr[10]; cout << "enter 10 numbers: " << endl; // نطلب من المستخدم إدخال 10 أرقام for (i = 0; i < 10; i++) { cin >> arr[z]; // نقرأ الأرقام من المستخدم } int n = sizeof(arr)/sizeof(arr[0]); insertionSortRecursiveAscending(arr, n); printArray(arr, n); // نطبع قيم المصفوفة التصاعدية insertionSortRecursiveDescending(arr, n); printArray(arr, n); // نطبع قيم المصفوصة التنازيلة return 0; }
شكرا جعلها بموازين حسناتك 💕
بتاريخ 9 ساعات قال عبود سمير:مرحباً ...
هناك العديد من خوارزميات الترتيب و قد ذكر لك الأخ محمد خوارزمية الترتيب بالإدراج بإمكانك الإطلاع على بقية الخوارزميات من خلال هذا الرابط للتعمق أكثر حول الموضوع: خوارزميات الترتيب على موسوعة حسوب
و أنا سأذكر لك خوارزمية الترتيب السريع و شرح هذه الخوارزمية موجود في الصفحة التالية : إضغط هناالبرنامج بلغة سي بلس بلس :
#include <iostream> using namespace std; // دالة لتبديل قيم متغيرين في الذاكرة من نوع عددي void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } // دالة مساعدة لطباعة عناصر مصفوفة عددية void printArray(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); } // دالة الترتيب التصاعدي void ascQuickSort(int arr[], int l, int r) { if (l >= r) { return; } int pivot = arr[r]; // العنصر المحوري int cnt = l; for (int i = l; i <= r; i++) { if (arr[i] <= pivot) { swap(&arr[cnt], &arr[i]); cnt++; } } ascQuickSort(arr, l, cnt-2); ascQuickSort(arr, cnt, r); } // دالة الترتيب التنازلي void descQuickSort(int arr[], int l, int r) { if (l >= r) { return; } int pivot = arr[r]; int cnt = l; for (int i = l; i <= r; i++) { if (arr[i] >= pivot) { swap(&arr[cnt], &arr[i]); cnt++; } } descQuickSort(arr, l, cnt-2); descQuickSort(arr, cnt, r); } int main() { // تعريف مصفوفة و ملئها مبدئياً بمجموعة من الأعداد يمكنك تغيير طريقة الملء بطلب الأعداد من المستخدم لاحقاً int arr[] = {10, 7, 9, 1, 8, 5, 2}; // حساب عدد القيم التي تحتويها المصفوفة int n = sizeof(arr) / sizeof(arr[0]); ascQuickSort(arr, 0, n-1); // الترتيب التصاعدي printf("Ascending order: \n"); printArray(arr, n); // طباعة عناصر المصفوفة descQuickSort(arr, 0, n-1); // الترتيب التنازلي printf("Descending order: \n"); printArray(arr, n); // طباعة عناصر المصفوفة }
نتيجة البرنامج :
لتجربة البرنامج اونلاين: إضغط هنا
بالتوفيق
شكرا جزاك الله خييير
-
بتاريخ 17 دقائق مضت قال محمد ربيع زليول:
ما هي اللغة البرمجية، التي تريدين حل التمرين عن طريقها؟
ال c++ اخي الكريم
-
we want to write an algorithm that print a series of number for a value given by a user. The series must be displayed in ascending order and in descending order according the user's choice. The algorithm must be written using recursive function.
اتمنى المساعده في الحل او الشرح وشكرا مقدما الله يفتحها بوجه كل شخص حاول يساعدني فيه ويوفقه ويسعده دنيا واخره 😩
-
هل يعني ان الخطا منطقي ولا يجب ان نضع الصفر لانه سا يتكرر الى مالانهايه ؟
وشكرا لك على ردك
بتاريخ 18 دقائق مضت قال Hamada Sayed:استبدال الفاصله بالفاصله المنقوطه
التصريح عن المتغير x خارج الدوران
مع العلم ان الفيضان سيحدث للمتغير x اكثر من مره
int x=0; for(int I=1; i>0; i++){ x+=1; }
هل يعني ان الخطا منطقي ولا يجب ان نضع الصفر لانه سا يتكرر الى مالانهايه ؟
وشكرا لك على ردك
-
شكرا لك اخ محمد جزاك الله خير
-
نعم
اتى هذا السوال هكذا Check the following instructions if they have any error and correct them.
ولم تضع كامل الكود من الواضح الخطا يوجد في الكود الموجود فقط
-
مانوع الخطا هنا مع التصحيح
(++for (int I=1; I > 0, I
{
;int x=0;
;x+=I
}
-
مالنوع الخطا هنا مع التصحيح
Stack (int size) } int Stk_ptr,Max_len; [Stk_ptr] = new int [size] Max_len= size-1; }
-
مانوع الخطا هنا مع التصحيح
;()void Mark
;(void Mark( int x=1
;x+=2
;()Mark
-
اتمنى تساعدوني بحلها
Write C++ Instruction for the followin
1. Define integer variable with its name St-Name and value 5.
2. Define one-dimensional Array with its name Courses and insert these String values (Math, Physics , Arabic).
3. Constructor instruction for St-Name class.
إنشاء قاعدة بيانات و جدول و إضافة بيانات SQL
في علوم الحاسوب
نشر · تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
هل ممكن مساعدتي في حلها او شرحها على الاقل او توضيح والمطلوب منها وكيفيه حلها شكرا لكم