MERGE(A, p. q.r)
1 n_{1} = q - p + 1
2 n_{2} = r - q
3 let L[1.. n_{1} + 1 ] and R[1.. n_{2} + 1 ] be new arrays
4 for i = 1 to n_{1}
5 L[i] = A[p + i - 1]
6 for j = 1 to n_{2}
7 R[j] = A[q + j]
8 L[n_{1} + 1] = ∞
9 R[n_{2} + 1] = ∞
10 i = 1
11 j = 1
12 k = p
13 if L[i] <= R[j]
14 A[k] = L[i]
15 i = i + 1
16 else A[k] = R[j]
17 j = j + 1
السلام عليكم
بدي حل لهاي الخوارزمية عشان تتنفذ بالحاسوب بلغة ++c
1 n_{1} = q - p + 1
2 n_{2} = r - q
3 let L[1.. n_{1} + 1 ] and R[1.. n_{2} + 1 ] be new arrays
4 for i = 1 to n_{1}
5 L[i] = A[p + i - 1]
6 for j = 1 to n_{2}
7 R[j] = A[q + j]
8 L[n_{1} + 1] = ∞
9 R[n_{2} + 1] = ∞
10 i = 1
11 j = 1
12 k = p
13 if L[i] <= R[j]
14 A[k] = L[i]
15 i = i + 1
16 else A[k] = R[j]
17 j = j + 1
السلام عليكم
بدي حل لهاي الخوارزمية عشان تتنفذ بالحاسوب بلغة ++c
عالم برمجةوتقنية الحاسوب C. P. W
MERGE(A, p. q.r) 1 n_{1} = q - p + 1 2 n_{2} = r - q 3 let L[1.. n_{1} + 1 ] and R[1.. n_{2} + 1 ] be new arrays 4 for i = 1 to n_{1} 5 L[i] = A[p + i - 1] 6 for j = 1 to n_{2} 7 R[j] = A[q + j] 8 L[n_{1} + 1] = ∞ 9 R[n_{2} + 1] = ∞ 10 i = 1 11…
#include <iostream>
#include <vector>
#include <climits> // لاستخدام INT_MAX كبديل لـ ∞
using namespace std;
void merge(vector<int>& A, int p, int q, int r) {
int n1 = q - p + 1; // حجم المصفوفة اليسرى
int n2 = r - q; // حجم المصفوفة اليمنى
vector<int> L(n1 + 1), R(n2 + 1); // إنشاء المصفوفتين مع مكان إضافي للحارس
// نسخ القيم إلى المصفوفة اليسرى L
for (int i = 0; i < n1; i++)
L[i] = A[p + i];
// نسخ القيم إلى المصفوفة اليمنى R
for (int j = 0; j < n2; j++)
R[j] = A[q + 1 + j];
// تعيين القيم الحارسة
L[n1] = INT_MAX;
R[n2] = INT_MAX;
int i = 0, j = 0; // مؤشرات L و R
for (int k = p; k <= r; k++) {
if (L[i] <= R[j]) {
A[k] = L[i];
i++;
} else {
A[k] = R[j];
j++;
}
}
}
// دالة لاختبار الدمج
int main() {
vector<int> A = {2, 4, 5, 7, 1, 2, 3, 6}; // مصفوفة غير مرتبة
int p = 0, q = 3, r = 7; // تحديد حدود القسمين المراد دمجهما
merge(A, p, q, r);
// طباعة المصفوفة بعد الدمج
cout << "المصفوفة بعد الدمج: ";
for (int num : A)
cout << num << " ";
return 0;
}
#include <vector>
#include <climits> // لاستخدام INT_MAX كبديل لـ ∞
using namespace std;
void merge(vector<int>& A, int p, int q, int r) {
int n1 = q - p + 1; // حجم المصفوفة اليسرى
int n2 = r - q; // حجم المصفوفة اليمنى
vector<int> L(n1 + 1), R(n2 + 1); // إنشاء المصفوفتين مع مكان إضافي للحارس
// نسخ القيم إلى المصفوفة اليسرى L
for (int i = 0; i < n1; i++)
L[i] = A[p + i];
// نسخ القيم إلى المصفوفة اليمنى R
for (int j = 0; j < n2; j++)
R[j] = A[q + 1 + j];
// تعيين القيم الحارسة
L[n1] = INT_MAX;
R[n2] = INT_MAX;
int i = 0, j = 0; // مؤشرات L و R
for (int k = p; k <= r; k++) {
if (L[i] <= R[j]) {
A[k] = L[i];
i++;
} else {
A[k] = R[j];
j++;
}
}
}
// دالة لاختبار الدمج
int main() {
vector<int> A = {2, 4, 5, 7, 1, 2, 3, 6}; // مصفوفة غير مرتبة
int p = 0, q = 3, r = 7; // تحديد حدود القسمين المراد دمجهما
merge(A, p, q, r);
// طباعة المصفوفة بعد الدمج
cout << "المصفوفة بعد الدمج: ";
for (int num : A)
cout << num << " ";
return 0;
}
عالم برمجةوتقنية الحاسوب C. P. W
MERGE(A, p. q.r) 1 n_{1} = q - p + 1 2 n_{2} = r - q 3 let L[1.. n_{1} + 1 ] and R[1.. n_{2} + 1 ] be new arrays 4 for i = 1 to n_{1} 5 L[i] = A[p + i - 1] 6 for j = 1 to n_{2} 7 R[j] = A[q + j] 8 L[n_{1} + 1] = ∞ 9 R[n_{2} + 1] = ∞ 10 i = 1 11…
#include <iostream>
#include <climits> // لاستخدام INT_MAX كقيمة لانهائية
using namespace std;
void merge(int A[], int p, int q, int r) {
int n1 = q - p + 1; // عدد العناصر في الجزء الأول
int n2 = r - q; // عدد العناصر في الجزء الثاني
// إنشاء مصفوفتين مؤقتتين
int L[n1 + 1], R[n2 + 1];
// نسخ البيانات إلى المصفوفتين الفرعيتين
for (int i = 0; i < n1; i++)
L[i] = A[p + i];
for (int j = 0; j < n2; j++)
R[j] = A[q + 1 + j];
// إضافة "عدد كبير جدًا" كمؤشر للنهاية
L[n1] = INT_MAX;
R[n2] = INT_MAX;
// عملية الدمج
int i = 0, j = 0;
for (int k = p; k <= r; k++) {
if (L[i] <= R[j]) {
A[k] = L[i];
i++;
} else {
A[k] = R[j];
j++;
}
}
}
// دالة لاختبار الدمج
int main() {
int A[] = {2, 4, 6, 1, 3, 5}; // جزء من مصفوفة مرتبة جزئياً
int p = 0, q = 2, r = 5; // تقسيم المصفوفة
merge(A, p, q, r);
// طباعة المصفوفة بعد الدمج
cout << "المصفوفة بعد الدمج: ";
for (int i = 0; i < 6; i++) {
cout << A[i] << " ";
}
cout << endl;
return 0;
}
#include <climits> // لاستخدام INT_MAX كقيمة لانهائية
using namespace std;
void merge(int A[], int p, int q, int r) {
int n1 = q - p + 1; // عدد العناصر في الجزء الأول
int n2 = r - q; // عدد العناصر في الجزء الثاني
// إنشاء مصفوفتين مؤقتتين
int L[n1 + 1], R[n2 + 1];
// نسخ البيانات إلى المصفوفتين الفرعيتين
for (int i = 0; i < n1; i++)
L[i] = A[p + i];
for (int j = 0; j < n2; j++)
R[j] = A[q + 1 + j];
// إضافة "عدد كبير جدًا" كمؤشر للنهاية
L[n1] = INT_MAX;
R[n2] = INT_MAX;
// عملية الدمج
int i = 0, j = 0;
for (int k = p; k <= r; k++) {
if (L[i] <= R[j]) {
A[k] = L[i];
i++;
} else {
A[k] = R[j];
j++;
}
}
}
// دالة لاختبار الدمج
int main() {
int A[] = {2, 4, 6, 1, 3, 5}; // جزء من مصفوفة مرتبة جزئياً
int p = 0, q = 2, r = 5; // تقسيم المصفوفة
merge(A, p, q, r);
// طباعة المصفوفة بعد الدمج
cout << "المصفوفة بعد الدمج: ";
for (int i = 0; i < 6; i++) {
cout << A[i] << " ";
}
cout << endl;
return 0;
}
وعليكم السلام! سأساعدك في كتابة خوارزمية الدمج المذكورة بلغة C++. الخوارزمية التي قدمتها هي جزء من خوارزمية الفرز السريع (Merge Sort). إليك الكود المفصل لتنفيذ دالة الدمج:
### توضيحات:
1. المكتبات: استخدام مكتبة
2. الدمج: بعد نسخ عناصر المصفوفتين L و R، يتم دمجهما في المصفوفة الأصلية A باستخدام حلقة
3. القيم غير النهائية: يستخدم
يمكنك نسخ الكود أعلاه ولصقه في بيئة تطوير C++ لتجربته. إذا كانت لديك أي أسئلة أو تحتاج إلى توضيح أكثر، فلا تتردد في السؤال!
#include <iostream>
#include <vector>
#include <limits> // للحصول على قيمة ∞
void merge(std::vector<int>& A, int p, int q, int r) {
int n1 = q - p + 1; // حجم الجزء الأيسر
int n2 = r - q; // حجم الجزء الأيمن
// إنشاء مصفوفات للأجزاء
std::vector<int> L(n1 + 1);
std::vector<int> R(n2 + 1);
// نسخ البيانات إلى المصفوفات L و R
for (int i = 0; i < n1; i++) {
L[i] = A[p + i];
}
for (int j = 0; j < n2; j++) {
R[j] = A[q + 1 + j]; // لاحظ أن index تبدأ من q+1
}
// تعيين القيم غير المنتهية
L[n1] = std::numeric_limits<int>::max(); // قيمة تماثل ∞
R[n2] = std::numeric_limits<int>::max(); // قيمة تماثل ∞
int i = 0, j = 0;
// دمج المصفوفتين في المصفوفة الأصلية
for (int k = p; k <= r; k++) {
if (L[i] <= R[j]) {
A[k] = L[i];
i++;
} else {
A[k] = R[j];
j++;
}
}
}
// مثال على كيفية استدعاء دالة الدمج
int main() {
std::vector<int> A = {38, 27, 43, 3, 9, 82, 10};
int p = 0;
int q = 2; // مؤشر منتصف الجزء
int r = 6; // مؤشر نهاية الجزء
merge(A, p, q, r);
// طباعة المصفوفة بعد الدمج
for (int i = 0; i < A.size(); i++) {
std::cout << A[i] << " ";
}
std::cout << std::endl;
return 0;
}
### توضيحات:
1. المكتبات: استخدام مكتبة
vector
لتسهيل إدارة المصفوفات الديناميكية، ومكتبة limits
للحصول على قيمة تعادل ∞.2. الدمج: بعد نسخ عناصر المصفوفتين L و R، يتم دمجهما في المصفوفة الأصلية A باستخدام حلقة
for
.3. القيم غير النهائية: يستخدم
std::numeric_limits<int>::max()
لوضع قيم تماثل ∞ في نهاية كل مصفوفة.يمكنك نسخ الكود أعلاه ولصقه في بيئة تطوير C++ لتجربته. إذا كانت لديك أي أسئلة أو تحتاج إلى توضيح أكثر، فلا تتردد في السؤال!
This media is not supported in your browser
VIEW IN TELEGRAM
Protoclone
أول روبوت بشري عضلي ثنائي الأرجل
يُعد Protoclone المطور من شركة Clone نموذج متقدم للروبوتات البشرية، حيث يتميز بتصميم تشريحي دقيق يحاكي جسم الإنسان بعدد 206 عظام بمفاصل متحركة وأوتار صناعية مصنوع من بوليمرات متينة.
يتمتع الروبوت بأكثر من 200 درجة من الحرية، مدعوم بأكثر من 1,000 عضلة اصطناعية (Myofibers) تستجيب خلال 50 مللي ثانية، وتنكمش 30%، وتنتج قوة 1 كجم لكل 3 جرامات مما يمنحه حركة طبيعية ومرونة فائقة.
بالإضافة إلى ذلك، يحتوي على 500 مستشعر لمراقبة وتكييف حركته وفقًا للبيئة المحيطة. يتميز الروبوت بكونه بلا وجه، مما يجعله منصة اختبار مرنة لتطوير تكنولوجيا الروبوتات البشرية المستقبلية.
أول روبوت بشري عضلي ثنائي الأرجل
يُعد Protoclone المطور من شركة Clone نموذج متقدم للروبوتات البشرية، حيث يتميز بتصميم تشريحي دقيق يحاكي جسم الإنسان بعدد 206 عظام بمفاصل متحركة وأوتار صناعية مصنوع من بوليمرات متينة.
يتمتع الروبوت بأكثر من 200 درجة من الحرية، مدعوم بأكثر من 1,000 عضلة اصطناعية (Myofibers) تستجيب خلال 50 مللي ثانية، وتنكمش 30%، وتنتج قوة 1 كجم لكل 3 جرامات مما يمنحه حركة طبيعية ومرونة فائقة.
بالإضافة إلى ذلك، يحتوي على 500 مستشعر لمراقبة وتكييف حركته وفقًا للبيئة المحيطة. يتميز الروبوت بكونه بلا وجه، مما يجعله منصة اختبار مرنة لتطوير تكنولوجيا الروبوتات البشرية المستقبلية.
This media is not supported in your browser
VIEW IN TELEGRAM
شركة OpenAI:
بعض المستخدمين صار عندهم ارتباط عاطفي مع ChatGPT خصوصاً مع ميزة المحادثة الصوتية 🙂
بعض المستخدمين صار عندهم ارتباط عاطفي مع ChatGPT خصوصاً مع ميزة المحادثة الصوتية 🙂
This media is not supported in your browser
VIEW IN TELEGRAM
ميزة جديدة قادمة ل ويندوز 11
لما تسحب ملف ، يعطيك شريط يسرع مشاركة الملف مع مختلف البرامج
ف بدل ما تفتح البرنامج و تسحب بين النوافذ
هالشي يسرع الخطوة هذي 👌🏼
لما تسحب ملف ، يعطيك شريط يسرع مشاركة الملف مع مختلف البرامج
ف بدل ما تفتح البرنامج و تسحب بين النوافذ
هالشي يسرع الخطوة هذي 👌🏼
Forwarded from 𝒆𝒏𝒈/ 𝒔𝒉𝒂𝒓𝒂𝒇 𝒂𝒍𝒌𝒂𝒘𝒎𝒂𝒏𝒊 𓂆
Problem_Solving_with_Python_طور_تفكيرك_المنطقي_و_البرمجي.zip
948.6 MB
كورس عن تعلم مهارات حل المشاكل البرمجية باستخدام لغة البرمجة Python.
شرح أكثر من 35 مسألة لتتدرب على المنطق وأساسيات البرمجة بلغة بايثون والخوازميات وهياكل البيانات.
@programming_C_w
شرح أكثر من 35 مسألة لتتدرب على المنطق وأساسيات البرمجة بلغة بايثون والخوازميات وهياكل البيانات.
@programming_C_w
❤1
Forwarded from 𝒆𝒏𝒈/ 𝒔𝒉𝒂𝒓𝒂𝒇 𝒂𝒍𝒌𝒂𝒘𝒎𝒂𝒏𝒊 𓂆
اساسيات تكنولوجيا المعلومات.pdf
13.8 MB
Forwarded from 𝒆𝒏𝒈/ 𝒔𝒉𝒂𝒓𝒂𝒇 𝒂𝒍𝒌𝒂𝒘𝒎𝒂𝒏𝒊 𓂆
متوفر في الكورس
-واي فاي القرصنة v3.0
-الشروع في أن تصبح هاكر v2
-الهاكر-ارفع السيد الروبوت
- أساسيات لينكس للقراصنة الإصدار الثاني
-أساسيات الشبكة للقراصنة V2
-أساسيات بايثون للقراصنة V2
-Security + (SY0-601) المعسكر التدريبي
-الشروع في أن تصبح هاكر رئيسي
- أساسيات لينكس للقراصنة
- أساسيات الشبكة_prep_relese
حجم الكورس
13GB
سووؤ تفاعل اذا تريدو الكورس
@programming_C_w
-واي فاي القرصنة v3.0
-الشروع في أن تصبح هاكر v2
-الهاكر-ارفع السيد الروبوت
- أساسيات لينكس للقراصنة الإصدار الثاني
-أساسيات الشبكة للقراصنة V2
-أساسيات بايثون للقراصنة V2
-Security + (SY0-601) المعسكر التدريبي
-الشروع في أن تصبح هاكر رئيسي
- أساسيات لينكس للقراصنة
- أساسيات الشبكة_prep_relese
حجم الكورس
13GB
سووؤ تفاعل اذا تريدو الكورس
@programming_C_w
❤4
اللهم اجعل بداية رمضان فرج لكل مفقود واسير وعلاج لكل مريض ورحمه لكل ميت وعافيه لكل مسلم وراحه لكل الناس ورزق لكل مسلم ونجاح لكل طالب اللهم اتقبل منا يا الله اللهم لا يتوجع اي قلب اللهم وجهك الكريم العظيم اللهم رد كل مفقود الا اهله سالما غانما معافئ اللهم امين يارب العالمين
رمضانكم كريييم أيها المهندسين والمسلمين 🌛✨ تقبل الله منا ومنكم صالح الأعمال
صوموا مثل الخلق ، وبطلوا حش على فلانة وزعطان وكونو ذاكرو وادعولنا ، واعزموني 😂
ما تحلى سفرة رمضان إلا با العم ثرف 😂✌️🏻.
صوموا مثل الخلق ، وبطلوا حش على فلانة وزعطان وكونو ذاكرو وادعولنا ، واعزموني 😂
ما تحلى سفرة رمضان إلا با العم ثرف 😂✌️🏻.
🤣4
عالم برمجةوتقنية الحاسوب C. P. W
رمضانكم كريييم أيها المهندسين والمسلمين 🌛✨ تقبل الله منا ومنكم صالح الأعمال صوموا مثل الخلق ، وبطلوا حش على فلانة وزعطان وكونو ذاكرو وادعولنا ، واعزموني 😂 ما تحلى سفرة رمضان إلا با العم ثرف 😂✌️🏻.
ممنوع الضحكه في رمضان شهر عباده سلام ربي عليك يا اذي اسم امك عماده...... خايف اقلب القناة دردشه رمضانيه شويه واحذف المنشور هاذا ملا بدي اخرج الضبح الي في الصدر اعوذ بالله من الشيطان الرجيم😂😂😂😂
😁2🤣2
مساء الخير من لديه الخبره اعمل انا وهو موقع الاكتروني
👍2
*مُبارٓكٌ علٓيْكُمْ شّٓهرُ رٓمٓضٓان*
*الْلَّھُم أَهِلَهُ عَليْنَا بِالْأمْنِ وَالإِيْمَانِ وَالْسَّلامَةِ وَالْإِسْلَامِ وَالْعَوْنٓ عَلَى الْصَّلاةِ وَالصِّيَامِ وَتِلَاوَةِ الْقُرْآَنِ الْلَّھُمّ سَلِّمْنَا لِرَمَضَانَ وَسَلِّمْهُ لنا وَتَسَلَّمْهُ مِنّا مُتَقَبَّلاً يٓارٓبٓ العٓالِٓمينْ.
🌙*كل عام وأنتم بخير 🌙رمضـــــᬽـــ͡ــان مَبِــــــــــأّرگ...
كل﮼ عام وانتم ﮼بألف ﮼خير
*الْلَّھُم أَهِلَهُ عَليْنَا بِالْأمْنِ وَالإِيْمَانِ وَالْسَّلامَةِ وَالْإِسْلَامِ وَالْعَوْنٓ عَلَى الْصَّلاةِ وَالصِّيَامِ وَتِلَاوَةِ الْقُرْآَنِ الْلَّھُمّ سَلِّمْنَا لِرَمَضَانَ وَسَلِّمْهُ لنا وَتَسَلَّمْهُ مِنّا مُتَقَبَّلاً يٓارٓبٓ العٓالِٓمينْ.
🌙*كل عام وأنتم بخير 🌙رمضـــــᬽـــ͡ــان مَبِــــــــــأّرگ...
كل﮼ عام وانتم ﮼بألف ﮼خير
❤3❤🔥1