علم البيانات مستوى ثاني | جامعة صنعاء – Telegram
علم البيانات مستوى ثاني | جامعة صنعاء
1.25K subscribers
368 photos
13 videos
820 files
399 links
"قناة علمية متخصصة في مجال علم البيانات. نقدم لك محتوى علمي موثوق به، وشروحات مفصلة، وأمثلة عملية تغطي أحدث التطورات في مجال علم البيانات . هدفنا هو تمكينك من بناء قاعدة علمية قوية ومهارات عملية تساهم في نجاحك الأكاديمي والمهني."
النقاشات: @Computer_DS1
Download Telegram
تحديات برمجية على الـ Array في السي بلس بلس:
1️⃣ سؤال/اكتب برنامج بلغة ++C لتحويل مصفوفة ثنائية الى مصفوفة احادية؟!

2️⃣ سؤال/اكتب برنامج بلغة ++C لادخال مصفوفة ثنائية و يقوم بجمع كل عمود فيها؟!
اي يقوم بجمع العمود الاول واضافة الناتج الى مصفوفة احادية.
ثم يجمع العمود الثاني وأضافة الناتج الى نفس المصفوفة الاحادية.
وكذلك على بقية الاعمدة.

حاولوا تحلوها، وبعدين سأرسل لكم الحل لمقارنته مع حلكم.
بالتوفيق للجميع؛؛
Don't use Chat GPT.
🔥3
🛑📣هاااااااااااااااااااااام📣🛑
- بناءً على قرار عمادة كلية الحاسوب واستمرار العمل في الكلية ورغبة البعض في تأجيل الدراسة إلى يوم السبت القادم.....
- علية:- تم تأجيل بدء دراسة الترم الثاني إلى يوم السبت تاريخ 23/11/2024م
-صادر عن ملتقى كلية الحاسوب.
#يعمم.
🔰ملتقى الطالب الجامعي كلية الحاسوب🔰
💔5🔥1😢1
تحديات برمجية على الـ Array في السي بلس بلس:
إليك 20 تحديًا برمجيًا بلغة C++ تتعلق بالمصفوفات:

1. إيجاد العنصر الأكبر في مصفوفة
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عدد من العناصر، ثم يقوم بالعثور على أكبر عنصر في تلك المصفوفة.

2. إيجاد العنصر الأصغر في مصفوفة
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عدد من العناصر، ثم يقوم بالعثور على أصغر عنصر في تلك المصفوفة.

3. حساب متوسط العناصر
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عدد من العناصر، ثم يقوم بحساب متوسط هذه العناصر.

4. تكرار العناصر
المطلوب: اكتب برنامجًا يقوم بإدخال عناصر الى المصفوفة، ثم يقوم بحساب عدد مرات تكرار كل عنصر ويطبع النتيجة.

5. دمج مصفوفتين
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عناصر لمصفوفتين، ثم يقوم بدمجهما في مصفوفة جديدة.

6. التدوير لليسار
المطلوب: اكتب برنامجًا يقوم بتدوير عناصر مصفوفة إلى اليسار بمقدار خطوة واحدة (العنصر الأول يصبح الأخير).

7. التدوير لليمين
المطلوب: اكتب برنامجًا يقوم بتدوير عناصر مصفوفة إلى اليمين بمقدار خطوة واحدة (العنصر الأخير يصبح الأول).

8. استبدال قيم العناصر
المطلوب: اكتب برنامجًا يستبدل جميع القيم الزوجية في مصفوفة بقيمة معينة يحددها المستخدم.

9. حساب مجموع القيم الزوجية
المطلوب: اكتب برنامجًا يقوم بحساب مجموع جميع القيم الزوجية في مصفوفة.

10. حساب مجموع القيم الفردية
المطلوب: اكتب برنامجًا يقوم بحساب مجموع جميع القيم الفردية في مصفوفة.

11. عكس مصفوفة
المطلوب: اكتب برنامجًا يقوم بعكس عناصر مصفوفة (أي يجعل العنصر الأول هو الأخير والعكس).

12. مقارنة مصفوفتين
المطلوب: اكتب برنامجًا يقوم بمقارنة مصفوفتين ويحدد ما إذا كانتا متساويتين في العناصر والترتيب.

13. تطبيق مصفوفة ثلاثية الأبعاد
المطلوب: اكتب برنامجًا يقوم بإنشاء مصفوفة ثلاثية الأبعاد (مثل 3x3x3) وطباعتها.

14. إيجاد العنصر المكرر
المطلوب: اكتب برنامجًا للعثور على أول عنصر مكرر في مصفوفة من الأعداد.
15. ترميز العناصر الفريدة
المطلوب: اكتب برنامجًا لإزالة العناصر المكررة من مصفوفة وإنتاج مصفوفة جديدة تحتوي على العناصر الفريدة فقط.

16. طباعة الصفوف الفردية
المطلوب: اكتب برنامجًا يقوم بطباعة الصفوف الفردية من مصفوفة ثنائية (مثل الصف الأول، الثالث، الخامس).

17. طباعة الأعمدة الفردية
المطلوب: اكتب برنامجًا يقوم بطباعة الأعمدة الفردية من مصفوفة ثنائية.

18. إجراء عمليات حسابية على عناصر المصفوفة
المطلوب: اكتب برنامجًا لإجراء عمليات جمع وطرح وضرب بين عناصر مصفوفتين وإظهار النتائج.

19. حساب المصفوفة التبادلية
المطلوب: اكتب برنامجًا لحساب المصفوفة التبادلية لمصفوفة مربعة (أي تحويل الصفوف إلى أعمدة والعكس).

20. إيجاد العنصر الأكثر تكرارًا
المطلوب: اكتب برنامجًا لإيجاد العنصر الأكثر تكرارًا في مصفوفة من الأعداد.

#programming_problem
#للفائدة
#علم_البيانات الدفـعـ(1)ــة
علم البيانات مستوى ثاني | جامعة صنعاء
تحديات برمجية على الـ Array في السي بلس بلس: 1️⃣ سؤال/اكتب برنامج بلغة ++C لتحويل مصفوفة ثنائية الى مصفوفة احادية؟! 2️⃣ سؤال/اكتب برنامج بلغة ++C لادخال مصفوفة ثنائية و يقوم بجمع كل عمود فيها؟! اي يقوم بجمع العمود الاول واضافة الناتج الى مصفوفة احادية.…
شرح البرنامج الأول : تحويل مصفوفة ثنائية إلى مصفوفة أحادية

1. تهيئة البرنامج:
   أول شيء تفعله في كل برنامج هو تضمين المكتبات الأساسية التي تحتاجها، مثل مكتبة الإدخال والإخراج.

 
   #include <iostream>
   using namespace std;
  

   هنا، تقول للكمبيوتر: "أحتاج أن أستخدم وظائف الإدخال والإخراج."

2. تعريف المتغيرات:
   بعد ذلك، تحتاج إلى تعريف مصفوفة ثنائية (2D array) وأيضًا مصفوفة أحادية (1D array) لتخزين العناصر.

 
   int a[3][3]; // تعريف المصفوفة الثنائية
   int b[10];   // تعريف المصفوفة الأحادية
   int t = 0;   // تعريف متغير عداد لتتبع الفهرس في المصفوفة الأحادية
  

   في السطر السابق، تقول للكمبيوتر: "أنشئ مصفوفة ثنائية a بحجم 3x3، ومصفوفة أحادية b لتخزين العناصر، وعداد t لاحتساب عدد العناصر المخزنة."

3. إدخال العناصر في المصفوفة الثنائية:
   الآن، عليك أن تطلب من المستخدم إدخال العناصر للمصفوفة الثنائية.

 
   cout << "enter array two D \n";
   for (int i = 0; i < 3; i++) {
       for (int j = 0; j < 3; j++) {
           cin >> a[i][j]; // إدخال العناصر
       }
   }
  

   هنا، تقول للكمبيوتر: "اطبع رسالة تطلب من المستخدم إدخال الأعداد، ثم خزن هذه الأعداد في المصفوفة a."

4. تحويل المصفوفة الثنائية إلى أحادية:
   بعد ذلك، تقوم بنقل العناصر من المصفوفة الثنائية إلى المصفوفة الأحادية.

 
   for (int i = 0; i < 3; i++) {
       for (int j = 0; j < 3; j++) {
           b[t] = a[i][j]; // نقل العنصر
           t++;            // زيادة العداد
       }
   }
  

   هنا، تقول للكمبيوتر: "خذ كل عنصر من المصفوفة الثنائية a، واحتفظ به في المصفوفة الأحادية b، وزد العداد t بعد كل عملية نقل."

5. طباعة المصفوفة الأحادية:
   أخيرًا، تقوم بطباعة العناصر الموجودة في المصفوفة الأحادية.

 
   cout << "the array one D is \n";
   for (int i = 0; i < 9; i++) {
       cout << b[i] << " "; // طباعة العناصر
   }
  

   هنا، تقول للكمبيوتر: "اطبع العناصر الموجودة في المصفوفة الأحادية b ليظهرها للمستخدم."

الخلاصة:

بهذه الخطوات، يمكنك إنشاء برنامج يقوم بتحويل مصفوفة ثنائية (3x3) إلى مصفوفة أحادية (1D).
#programming_problem_solving
#للفائدة
#برمجة_2
#علم_البيانات الدفـعـ(1)ــة
علم البيانات مستوى ثاني | جامعة صنعاء
تحديات برمجية على الـ Array في السي بلس بلس: 1️⃣ سؤال/اكتب برنامج بلغة ++C لتحويل مصفوفة ثنائية الى مصفوفة احادية؟! 2️⃣ سؤال/اكتب برنامج بلغة ++C لادخال مصفوفة ثنائية و يقوم بجمع كل عمود فيها؟! اي يقوم بجمع العمود الاول واضافة الناتج الى مصفوفة احادية.…
شرح البرنامج الثاني : جمع أعمدة مصفوفة ثنائية

1. تهيئة البرنامج:
   أول شيء تفعله في كل برنامج هو تضمين المكتبات الأساسية التي تحتاجها، مثل مكتبة الإدخال والإخراج.

 
   #include <iostream>
   using namespace std;
  

   هنا، تقول للكمبيوتر: "أحتاج أن أستخدم وظائف الإدخال والإخراج."

2. تعريف المتغيرات:
   بعد ذلك، تحتاج إلى تعريف مصفوفة ثنائية لتخزين العناصر، وبعض المتغيرات.

 
   int a[3][3], i, j; // تعريف المصفوفة الثنائية وعدد من المتغيرات
   int sumArray[3] = {0}; // تعريف المصفوفة الأحادية لجمع الأعمدة
  

   في السطر السابق، تقول للكمبيوتر: "أنشئ مصفوفة ثنائية a بحجم 3x3، وبعض المتغيرات i و j كعدادات، ومصفوفة sumArray لتخزين مجموع كل عمود."

3. طلب إدخال المستخدم:
   الآن، عليك أن تطلب من المستخدم إدخال عناصر المصفوفة الثنائية.

 
   cout << "Enter the elements of the 2D array (3x3):" << endl;
  

   هنا، تقول للكمبيوتر: "اطبع هذه الرسالة على الشاشة لتطلب من المستخدم إدخال الأعداد."

4. إدخال العناصر في المصفوفة الثنائية:
   تستخدم حلقتين لتخزين الأعداد المدخلة في المصفوفة الثنائية.

 
   for (i = 0; i < 3; i++) {
       for (j = 0; j < 3; j++) {
           cin >> a[i][j]; // إدخال العناصر
       }
   }
  

   هنا، تقول للكمبيوتر: "استخدم حلقتين لتكرار العملية ثلاث مرات وتخزين الأعداد المدخلة في المصفوفة a."

5. جمع عناصر كل عمود:
   بعد ذلك، تقوم بجمع العناصر في كل عمود.

 
   for (j = 0; j < 3; j++) {
       for (i = 0; i < 3; i++) {
           sumArray[j] += a[i][j]; // جمع العناصر في العمود
       }
   }
  

   هنا، تقول للكمبيوتر: "لنجمع العناصر في كل عمود. استخدم حلقة لجمع العناصر في العمود الحالي وأضف الناتج إلى المصفوفة الأحادية sumArray."

6. طباعة نتائج الجمع:
   أخيرًا، تقوم بطباعة مجموع كل عمود.

 
   cout << "The sum of each column is:" << endl;
   for (j = 0; j < 3; j++) {
       cout << "Sum of column " << j + 1 << ": " << sumArray[j] << endl; // طباعة المجموع
   }
  

   هنا، تقول للكمبيوتر: "اطبع مجموع كل عمود من المصفوفة sumArray ليظهر للمستخدم."

الخلاصة:

بهذا البرنامج، يمكنك جمع عناصر كل عمود في مصفوفة ثنائية (3x3) وإظهار النتائج في مصفوفة أحادية.
#programming_problem_solving
#للفائدة
#برمجة_2

#علم_البيانات الدفـعـ(1)ــة
الايميلات الجامعية للطلاب المستجدين:
قم بالدخول الى موقع بوابة الطالب الجامعي :
https://sar.su.edu.ye/getes/6
بيانات تسجيل الدخول الخاصة بك

البريد الإلكتروني :رقمك الجامعي متبوعاً بـ
@su.edu.ye
كلمة السر : رقمك الجامعي
ثم بعد ذلك ستظهر لك، صفحة تغيير كلمة المرور، قم بتغييرها وكتابة رقم هاتفك.
مثال :
الرقم الجامعي : 25160162
سيكون البريد الإلكتروني :
25160162@su.edu.ye
كلمة السر : 25160162


ملاحظة: الدرجات لم تُرصد بعد.
🤩تعميمممممممم🤩
ايميلات طلاب كلية الحاسوب جاهزة سيتم فرزها وتجهيز آلية استلام الايميلات مع كلمات السر وبعد ذلك توزيعها.....
🔰ملتقى الطالب الجامعي كلية الحاسوب🔰
الايميل الجامعي نقدر نستفيد منه في كثير من الأشياء 🔥🔥.

︎حزمة موقع github

  اشتراك لمدة سنه في موقع (canva)  .. & .. اثنين دومينات اشتراك سنة ..  &.. 100$ في موقع (digital Ocean) .. & .. 100$ في (Microsoft azure) ..  وحاجات كثيرة

https://education.github.com/pack

•••••••••••••••••••••••••••••••••••••••••••

︎كورس واحد مدفوع كل سنة من موقع  ( coursera ) مع شهادة معتمدة.

http://bit.ly/2MIwzog

•••••••••••••••••••••••••••••••••••••••••••

تنزيل ︎جميع برامج شركة (Auto desk) مع ال( licenses ) مجانا

https://accounts.autodesk.com/register

https://www.autodesk.com/education/edu-software/overview

 
••••••••••••••••••••••••••••••••••••••••••••

︎ تنزيل برامج ( office 365 ) مجانا

https://www.microsoft.com/en-in/education/products/office

•••••••••••••••••••••••••••••••••••••••••••

تنزيل برامج (jetbrain) مجاناً منهن:

●CLion
محرر الأكواد الخاص بلغة ++C & C

●JetBrains.Rider

محرر الأكواد الخاص بلغة #C

●PhpStorm

معروف حق أيش من اسمه

●pycharm

باي تشارم هو بيئة تطوير متكاملة (IDE) مصممة خصيصًا لبرمجة بايثون.

●WebStorm

ذا خاص بكل شي تخص الويب على عكس ال phpstorm فهذاك مخصص لل php و laravel

و غيرها من البرامج للغات المتبقة الرابط تحت ادخلوا و سجلوا و قدموا طلب للحصول على حقيبة الطالب و بيعطوكم license لمدة سنة.



https://www.jetbrains.com/community/education/#students



(( بعض المواقع بالرغم من انك تكون سجلت فيه بالايميل الجامعي يطلبوا منكم أيضًا تصور البطاقة الجامعية .. صوروها وافعلوا جنبها ورقة صغيرة فيها اسمكم بالانجليزي ))

و استغلوا ايميلاتكم الجامعية فيما تبقى.

__
#هدفنا_خدمتكم
#يد_تبني_ويد_تحمي


🔶 للمزيد من المعلومات يمكنكم الاشتراك في قناتنا في التليجرام:
https://telegram.me/computerusf2018

🔶بوت كلية الحاسوب وتكنولوجيا المعلومات   لاستقبال استفساراتكم وتساؤلاتكم.

@USFCMBOT

----------------------
يد _تحمي
              و يد _ تبني
---------------------

      🔰ملتقى الطالب الجامعي🔰
        🔰كلية الحاسوب 🔰
              🔰وعي وتأهيل🔰
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
خطوات انشاء حساب جامعي.
1. من تطبيق جيميل.  .         
٢. إضافة حساب.               
٣. تدخل البريد الإلكتروني.     

٤. تدخل كلمة السر.

🛑 هــــــــــــــــــــــــــــــام 🛑

الباسوورد الذي في الفيديو ليست للجميع ، وإنما هي للتوضيح والشرح فقط .

كل طالب لديه باسوورد مختلفة ، وسيتم إرسالهن بعد أن يتم فرزهن .
بما أنهُ حصلنا على الإيميلات الجامعية هذة قائمة
المواقع والمواضيع المفيدة التي ستفيدنا بأستخدام الإميل الجامعي  :

1. حساب مجاني على أوفيس 365: تقدر  تحصل على الإصدار التعليمي المجاني من حزمة أوفيس 365، بما في ذلك برامج مثل Word وExcel وPowerPoint، بالإضافة إلى مساحة تخزين سحابية على OneDrive.


2. حزمة الطلاب المطورين من GitHub: تدعم لك هذه الحزمة العديد من الخدمات المجانية، بما في ذلك حسابات مجانية على Amazon AWS وMicrosoft Azure، بالإضافة إلى خصومات على أدوات البرمجة مثل محررات الاكواد (pycharm )

3. تطبيق Notion: يمكنك الحصول على إصدار متميز من تطبيق Notion لتدوين الملاحظات مجانًا عند التسجيل باستخدام بريدك الجامعي.

4. اسم نطاق مجاني .me من Namecheap: تقدم Namecheap اسم نطاق مجاني لمدة عام للطلاب، مع شهادة تأمين SSL.

5. حسابات مجانية على AutoCAD وMaya: يمكنك الحصول على نسخ مجانية من برامج Autodesk مثل AutoCAD وMaya عند التسجيل باستخدام بريدك الجامعي.

6. حساب مجاني على LucidChart: يمكنك استخدام برنامج LucidChart لإنشاء الرسوم البيانية وجميع انواع ال Notations  لتصميم قاعدة البيانات مجانًا باستخدام بريدك الجامعي.

7. تنزيل برنامج JetBrains: يمكنك الحصول على أدوات تطوير البرمجيات من JetBrains مجانًا كطالب .

8. خصومات على Adobe Creative Cloud: يمكنك الحصول على خصم كبير على اشتراك Adobe Creative Cloud باستخدام بريدك الجامعي.

9. خصم 50% على Spotify: تقدم Spotify خصمًا خاصًا للطلاب عند استخدام بريدك الجامعي.

10. زيادة مساحة Google Drive: يمكنك الحصول على مساحة تخزين غير محدودة أو زيادة مساحة Google Drive مجانًا باستخدام بريدك الجامعي.

11. خصومات على منتجات Apple: تقدم Apple خصومات خاصة للطلاب على أجهزتها وخدماتها.

12. خصومات على منتجات Norton: يمكنك الحصول على خصومات كبيرة على خدمات Norton باستخدام بريدك الجامعي.

13. خصومات على اشتراك Amazon Prime: يمكنك الحصول على نسخة تجريبية مجانية من Amazon Prime لمدة ستة أشهر باستخدام بريدك الجامعي.

14. استخدام  copilot  على github الذي يعتبر خاصة بالأكواد والمشاكل البرمجية

15. التسجيل على موقع coursera :
الذي يعيطك كورس واحد في السنة بشهادة عالمية معتمدة .



هذه بعض ا لفوائد والخدمات التي يمكنك الاستفادة منها باستخدام بريدك الجامعي.

وفقكم الله أخواني الطلاب استغلوا وقتكم

الوقت كالسيف إن لم تقطعهُ قَطعك
نذكرك عزيزي القارئ أن منصة Skillshare تمنحك عرضًا سمينًا لاستكشاف ومشاهدة وحتى تحميل مختلف الدورات.

منصة Skillshare هي منصة مدفوعة في الأصل، ولا تستطيع مشاهدة أي كورس إلا بعد دفع سعر الاشتراك الشهري.

يمكن الآن الحصول على تجربة اشتراك مجانية لمدة شهر كامل ( 30 يومًا ) دون دفع فلس واحد.

تتنوع الكورسات في المنصة من: كورسات برمجة، تطوير، تصميم، تسويق، إبداع ورسم، إدارة ...

📍 افتح حسابك الآن:
https://link.aqweeb.com/free-month

#كورسات | #عروض

#كن معنا ليكن لك معنى  👇                
🌎 @News_Technology2 🌍

#علم_البيانات الدفـعـ(1)ــة
🍀أسعد الله أوقاتكم ياطلاب كلية الحاسوب  🍀

الموضوع /     🔅 نصيحة ثمينة 🔅

أكبر وأفضل نصيحة يمكنني أن أقدمها لكم من أخ لإخوته هو أن:

   تتعلم برمجة صح لا تتعلم syntax وتوهم عقلك أنك مبرمج .

كيف أن تتعلم أساس  البرمجة الواقعية ؟
تعلمها من الشخص القدير محمد ابو هدهود
الذي يمتلك 24 كورس متدرجة وفيها تطبيق ومشاريع ومعلمومات وطرق واساليب برمجية جابها من خبرة 28 سنة

كورسات ابو هدهود :
يوجد 4 كورسات مجانية على قناته في اليوتيوب


والبقية تلقاهم على منصته 👈

طبعا الكورسات مدفوعة ورخيصة :
الكورس من 20 دولار
كثيرة عليك  ؟ الكورس ب 15 دورلار
كثيرة عليك ؟ الكورس  ب 10 دولار
كثيرة عليك ؟ الكورس ب 5  دولار
كثيرة عليك ؟ الكورس مجانًا خذ كوبون دعم 😊

بس ملاحظة : أنت محمل أمانه عليك إذا اقدرت تدفع لا تأخذ كورس الا وتدفع عليه .

طبعًا الدكتور غير ربحي هدفه يعمل ثورة على مستوى الوطن العربي أشهد لله شهادة أول مرة أشوف دكتور يشرح بإخلاص.

طبعًا انا حاليا معه بالكورس الثامن عشر الكورسات رائعه خارطة الطريق تبعه فخامه جدًا تعلمك البرمجة الصحيحة والطرق الصحيحة والأساس الصحيح .

فيديو يشرح خارطة الطريق  👈  
هنا

قناته على يوتيوب 👈
هنا

قناته على تيليجرام 👈   هنا

المنصة على Google    هنا

هو الدكتور الوحيد الذي يقضي ١٦ الساعة يوميا مع الطلاب وعلى مواقع التواصل يرد على طلابه .

أسأل من الله أن يبارك في علمه وعمله ويجازيه الخير

أخوكم/ طماح العبدي


🔰   اللجنة العلمية  🔰
علم البيانات مستوى ثاني | جامعة صنعاء
1. إيجاد العنصر الأكبر في مصفوفة
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عدد من العناصر، ثم يقوم بالعثور على أكبر عنصر في تلك المصفوفة.
شرح البرنامج الأول : إيجاد أكبر عدد في مصفوفة

1. تهيئة المكتبات:
   أول شيء تفعله هو تضمين المكتبات الأساسية التي تحتاجها.

 
   #include <iostream>
   using namespace std;
  

   هنا، تقول للكمبيوتر: "أحتاج أن أستخدم وظائف الإدخال والإخراج."

2. تعريف البرنامج الرئيسي:
   تبدأ بتعريف الدالة الرئيسية main، حيث يبدأ تنفيذ البرنامج.

 
   int main() {
  

   هنا، تقول للكمبيوتر: "هذه هي نقطة البداية لبرنامجي."

3. طلب حجم المصفوفة:
   تطلب من المستخدم تحديد حجم المصفوفة.

 
   int size;
   cout << "What size do you want Array to be? \n>: ";
   cin >> size;
  

   - int size;:
تعريف متغير size لتخزين حجم المصفوفة.
   - cout:
يطبع رسالة تطلب من المستخدم إدخال الحجم.
   - cin >> size; :
يقوم بقراءة القيمة المدخلة من المستخدم وتخزينها في size.

4. تعريف المصفوفة:
   بعد ذلك، تعرف مصفوفة numbers بحجم size.

 
   int numbers[size];
  

   هنا، تقول للكمبيوتر: "أنشئ مصفوفة numbers بحجم size الذي أدخله المستخدم."

5. إدخال عناصر المصفوفة:
   تستخدم حلقة for للسماح للمستخدم بإدخال عناصر المصفوفة.

 
   for (int i = 0; i < size; i++) {
       cout << "Enter the element " << i + 1 << ": ";
       cin >> numbers[i];
   }
  

   - for (int i = 0; i < size; i++):
حلقة تتكرر size مرات.
   - cout:
يطبع رسالة تطلب من المستخدم إدخال العنصر الحالي.
   - cin >> numbers[i]; :
يقوم بقراءة القيمة المدخلة وتخزينها في العنصر i من المصفوفة numbers.

6. طباعة المصفوفة المدخلة:
   بعد إدخال العناصر، تقوم بطباعة المصفوفة.

 
   cout << endl << "The Entered Array is : | ";
   for (int i = 0; i < size; i++) {
       cout << numbers[i] << " | ";
   }
   cout << endl;
  

   - cout:
يطبع رسالة توضح المصفوفة المدخلة.
   - حلقة for : تستخدم لطباعة كل عنصر في المصفوفة.

7. البحث عن أكبر عدد:
   تقوم بالبحث عن أكبر عدد في المصفوفة وتخزينه في المتغير MaxNumber.

 
   int MaxNumber = numbers[0];
   for (int i = 0; i < size; i++) {
       if (numbers[i] > MaxNumber)
           MaxNumber = numbers[i];
   }
  

   - int MaxNumber = numbers[0]; :
تعيين أول عنصر في المصفوفة كأكبر عدد مبدئي.
   - حلقة for:
تتكرر عبر جميع عناصر المصفوفة.
   - if (numbers[i] > MaxNumber):
تتحقق مما إذا كان العنصر الحالي أكبر من MaxNumber.
   - MaxNumber = numbers[i]; :
إذا كان العنصر أكبر، يتم تحديث MaxNumber بالقيمة الجديدة.

8. طباعة أكبر عدد:
   أخيرًا، تقوم بطباعة أكبر عدد وجدته في المصفوفة.

 
   cout << "The Max Value in Array is : " << MaxNumber;
  

   هنا، تقول للكمبيوتر: "اطبع أكبر قيمة تم العثور عليها في المصفوفة."


الفكرة البرمجية:


الفكرة الرئيسية لهذه البرنامج هي السماح للمستخدم بإدخال مجموعة من الأعداد في مصفوفة، ثم البحث عن أكبر عدد في تلك المجموعة باستخدام حلقة للتحقق من كل عنصر في المصفوفة. البرنامج يعرض بعد ذلك القيمة الأكبر، مما يظهر كيفية استخدام المصفوفات والحلقات في البرمجة بلغة C++.
البرنامج كامل :


#include <iostream>
using namespace std;

//find the max number in the Arrray

int main()
{
//determine the size(length) of array
int size;
cout<<"What size do you want Array to be? \n>:";
cin>>size;
int numbers[size];
//Enter elements in Array
for(int i=0;i<size;i++)
{
cout<<"Enter the element "<<i+1<<": ";
cin>>numbers[i];
}
//printing the Entered array
cout<<endl<<"The Entered Array is : | ";
for(int i=0;i<size;i++)
{
cout<<numbers[i]<<" | ";
}
cout<<endl;
//find the max number of array and keep in MaxNumber
int MaxNumber=numbers[0];
for (int i=0;i<size;i++)
{
if(numbers[i]>MaxNumber)
MaxNumber=numbers[i];
}
//display the max number in the Arrray
cout <<"The Max Value in Arrray is : "<<MaxNumber;
}
👍1
علم البيانات مستوى ثاني | جامعة صنعاء
2. إيجاد العنصر الأصغر في مصفوفة
المطلوب: اكتب برنامجًا يطلب من المستخدم إدخال عدد من العناصر، ثم يقوم بالعثور على أصغر عنصر في تلك المصفوفة.
شرح البرنامج الثاني : إيجاد أصغر عدد في مصفوفة

1. تهيئة المكتبات:
   أول شيء تفعله هو تضمين المكتبات الأساسية التي تحتاجها.

 
   #include <iostream>
   using namespace std;
  

   هنا، تقول للكمبيوتر: "أحتاج أن أستخدم وظائف الإدخال والإخراج."

2. تعريف البرنامج الرئيسي:
   تبدأ بتعريف الدالة الرئيسية main، حيث يبدأ تنفيذ البرنامج.

 
   int main() {
  

   هنا، تقول للكمبيوتر: "هذه هي نقطة البداية لبرنامجي."

3. طلب حجم المصفوفة:
   تطلب من المستخدم تحديد حجم المصفوفة.

 
   int size;
   cout << "What size do you want Array to be? \n>: ";
   cin >> size;
  

   - int size;:
تعريف متغير size لتخزين حجم المصفوفة.
   - cout:
يطبع رسالة تطلب من المستخدم إدخال الحجم.
   - cin >> size; :
يقوم بقراءة القيمة المدخلة من المستخدم وتخزينها في size.

4. تعريف المصفوفة:
   بعد ذلك، تعرف مصفوفة numbers بحجم size.

 
   int numbers[size];
  

   هنا، تقول للكمبيوتر: "أنشئ مصفوفة numbers بحجم size الذي أدخله المستخدم."

5. إدخال عناصر المصفوفة:
   تستخدم حلقة for للسماح للمستخدم بإدخال عناصر المصفوفة.

 
   for (int i = 0; i < size; i++) {
       cout << "Enter the element " << i + 1 << ": ";
       cin >> numbers[i];
   }
  

   - for (int i = 0; i < size; i++):
حلقة تتكرر size مرات.
   - cout:
يطبع رسالة تطلب من المستخدم إدخال العنصر الحالي.
   - cin >> numbers[i]; :
يقوم بقراءة القيمة المدخلة وتخزينها في العنصر i من المصفوفة numbers.

6. طباعة المصفوفة المدخلة:
   بعد إدخال العناصر، تقوم بطباعة المصفوفة.

 
   cout << endl << "The Entered Array is : | ";
   for (int i = 0; i < size; i++) {
       cout << numbers[i] << " | ";
   }
   cout << endl;
  

   - cout:
يطبع رسالة توضح المصفوفة المدخلة.
   - حلقة for : تستخدم لطباعة كل عنصر في المصفوفة.

7. البحث عن أصغر عدد:
   تقوم بالبحث عن أصغر عدد في المصفوفة وتخزينه في المتغير minNumber.

 
   int minNumber = numbers[0];
   for (int i = 0; i < size; i++) {
       if (numbers[i] < minNumber)
           minNumber = numbers[i];
   }
  

   - int minNumber = numbers[0]; :
تعيين أول عنصر في المصفوفة كأصغر عدد مبدئي.
   - حلقة for:
تتكرر عبر جميع عناصر المصفوفة.
   - if (numbers[i] < minNumber):
تتحقق مما إذا كان العنصر الحالي أصغر من minNumber.
   - minNumber = numbers[i]; :
إذا كان العنصر أصغر ، يتم تحديث minNumber بالقيمة الجديدة.

8. طباعة أصغر عدد:
   أخيرًا، تقوم بطباعة أصغر عدد وجدته في المصفوفة.

 
   cout << "The Minimum Value in Array is : " << minNumber;
  

   هنا، تقول للكمبيوتر: "اطبع أصغر قيمة تم العثور عليها في المصفوفة."


الفكرة البرمجية:


الفكرة الرئيسية لهذه البرنامج هي السماح للمستخدم بإدخال مجموعة من الأعداد في مصفوفة، ثم البحث عن أصغر عدد في تلك المجموعة باستخدام حلقة للتحقق من كل عنصر في المصفوفة. البرنامج يعرض بعد ذلك القيمة الأصغر، مما يظهر كيفية استخدام المصفوفات والحلقات في البرمجة بلغة C++.
البرنامج كامل :


#include <iostream>
using namespace std;

//find the Minimum number in the Arrray

int main()
{
  //determine the size(length) of array
    int size;
    cout<<"What size do you want Array to be? \n>:";
    cin>>size;
    int numbers[size];
    //Enter elements in Array
   for(int i=0;i<size;i++)
   {
     cout<<"Enter the element "<<i+1<<": ";
     cin>>numbers[i];
   }
    //printing the Entered array
   cout<<endl<<"The Entered Array is : | ";
   for(int i=0;i<size;i++)
   {
     cout<<numbers[i]<<" | ";
   }
   cout<<endl;
   //find the Minimum number of array and keep in minNumber
   int minNumber=numbers[0];
   for (int i=0;i<size;i++)
   {
     if(numbers[i]<minNumber)
       minNumber=numbers[i];
   }
   //display the Minimum number in the Arrray
     cout <<"The Minimum Value in Arrray is : "<<minNumber;
}
👍2
💠 مشكلة برمجية جديدة وتحدي جديد :


اكتب برنامج يطلب من المستخدم ادخال حجم المصفوفة ثم يطلب منه إدخال عناصر المصفوفة ثم يقوم بطباعتها ثم يطلب من المستخدم مرتبة القيمة التي يريد ان يوجدها مثال اذا اراد إيجاد ثالث اكبر رقم يدخل 3.
مثال output :-
array[ ]={ 2 , 5 , 8 , 6 , 5 ,8 , 1 , 4 ,8 , 2 } 
rank=3
//output
the 3th largest number in the Arrray is : 5

لاتنسئ:
"كل مشكلة هي خطوة نحو إبداع جديد."😉
ملاحظة :
حل المشكلة ليس سهلاً، ولكنه ايضاً ليس مستحيل.


طبعاً إذا حاولت تخلي الذكاء الاصطناعي يحله عيحله لك بإستخدام الـ vector
#برمجة_2
#programming_problem_solving
علم البيانات مستوى ثاني | جامعة صنعاء
اكتب برنامج يطلب من المستخدم ادخال حجم المصفوفة ثم يطلب منه إدخال عناصر المصفوفة ثم يقوم بطباعتها ثم يطلب من المستخدم مرتبة القيمة التي يريد ان يوجدها مثال اذا اراد إيجاد ثالث اكبر رقم يدخل 3.
الفكرة البرمجية للبرنامج بالتفصيل مع التركيز على كيفية عمله بشكل عام لإيجاد الرقم الأكبر ذو المرتبة k في المصفوفة.

الفكرة البرمجية :


الفكرة الرئيسية للبرنامج هي إيجاد الرقم الذي يتوافق مع المرتبة k في مصفوفة من الأعداد. على سبيل المثال، إذا كانت المرتبة المطلوبة هي 2، فإن البرنامج سيجد ثاني أكبر رقم في المصفوفة. يستخدم البرنامج أسلوبًا بسيطًا يعتمد على تتبع الأعداد الأكبر وتجاهل الأعداد التي تم اعتبارها بالفعل.


خطوات البرنامج:


1. تهيئة المكتبات والإعدادات
#include <iostream>
using namespace std;

- يتم تضمين مكتبة iostream لتوفير الدوال اللازمة للإدخال والإخراج.

2. البرنامج الرئيسي
int main() {

- يبدأ البرنامج من الدالة main.

3. طلب حجم المصفوفة
int size;
cout << "What size do you want the Array to be? \n>: ";
cin >> size;

- يسأل البرنامج المستخدم عن حجم المصفوفة، ويتم تخزين القيمة في المتغير size.

4. التحقق من حجم المصفوفة
if (size <= 0) {
    cout << "Size must be greater than 0." << endl;
    return 1; // Exit the program
}

- يتحقق البرنامج من أن الحجم المدخل أكبر من 0. إذا لم يكن، يتم إخطار المستخدم وينتهي البرنامج.

5. إدخال عناصر المصفوفة
int numbers[size];
for (int i = 0; i < size; i++) {
    cout << "Enter the element " << i + 1 << ": ";
    cin >> numbers[i];
}

- يتم إنشاء مصفوفة numbers بحجم size ، ويُطلب من المستخدم إدخال الأعداد.

6. طباعة المصفوفة المدخلة
cout << endl << "The Entered Array is: | ";
for (int i = 0; i < size; i++) {
    cout << numbers[i] << " | ";
}

- يتم طباعة الأعداد المدخلة من قبل المستخدم.

7. طلب المرتبة من المستخدم
int rank;
cout << "Please enter the rank of the number you want to find." << endl;
cin >> rank;

- يطلب البرنامج من المستخدم إدخال المرتبة (k) التي يرغب في العثور على العدد المقابل لها.

8. التحقق من صحة إدخال المرتبة
while (rank < 1 || rank > size) {
    cout << "Please try again to enter a rank between 1 and " << size << "." << endl;
    cin >> rank;
}

- يتحقق البرنامج من أن المرتبة المدخلة صحيحة (بين 1 وحجم المصفوفة). إذا لم تكن كذلك، يُطلب من المستخدم إدخال قيمة جديدة.

9. البحث عن أكبر عدد في المصفوفة
int MaxNumber = numbers[0];
for (int i = 1; i < size; i++) {
    if (numbers[i] > MaxNumber) {
        MaxNumber = numbers[i];
    }
}

- يتم العثور على أكبر عدد في المصفوفة وتخزينه في MaxNumber.

10. تتبع الأعداد المعالجة
int large_rank = MaxNumber;
bool processed[size] = {false};

- يتم تعيين large_rank إلى MaxNumber.
- يتم إنشاء مصفوفة processed لتتبع الأعداد التي تم اعتبارها (معالجتها).

11. إيجاد الرقم ذو المرتبة k
for (int r = 1; r < rank; r++) {

- الحلقة الخارجية:
تتكرر rank - 1 مرات. كل تكرار يهدف إلى العثور على العدد التالي الأكبر.

11.1 معالجة الأعداد الحالية
for (int i = 0; i < size; i++) {
    if (!processed[i] && numbers[i] == large_rank) {
        processed[i] = true; // Mark this number as processed
    }
}

- الحلقة الداخلية: تبحث عن الأعداد التي تساوي large_rank (أكبر عدد في المصفوفة في أول تكرار) وتضع علامة عليها على أنها تمت معالجتها.

11.2 إعادة تعيين large_rank
large_rank = -1; // Reset large_rank for the next iteration

- يتم تعيين large_rank  إلى -1، وهو قيمة ابتدائية للبحث عن العدد التالي الأكبر.

11.3 البحث عن أكبر عدد غير معالج
for (int i = 0; i < size; i++) {
    if (!processed[i] && numbers[i] > large_rank) {
        large_rank = numbers[i]; // Find the next largest number
    }
}

- الحلقة هذه تبحث عن أكبر عدد غير معالج في المصفوفة، وتقوم بتحديث large_rank بالقيمة الجديدة.

12. طباعة النتيجة النهائية
cout << "The " << rank << "th largest value in the Array is: " << large_rank << endl;

- بعد الانتهاء من جميع التكرارات، يتم إخراج الرقم الذي يتوافق مع المرتبة المدخلة.

13. إنهاء البرنامج
return 0;
}

- ينتهي البرنامج بإرجاع 0، مما يشير إلى أن التنفيذ تم بنجاح.


#برمجة_2
#programming_problem_solving

.يتبع....