تمارين بلغة الجافا ...Check If Array Is Subset Of Another Array
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1 • شاطر
تمارين بلغة الجافا ...Check If Array Is Subset Of Another Array
أهلا وسهلا بكم أخوانى الكرام
مازلنا مع بعض الاسئلة التى يتم ارسالها للحل و اليكم السؤان التالى :
هذا السؤال يتطلب الاتى :
1_ إنشاء طريقة باسم compera تسقبل مصفوفتين غير معلومة الحجم يتم ادخلها عناصرهما عن طريق المستخدم
2_ تقوم الطريقة بالتححق من اى من هذين المصفوفتين تعتبر مصفوفة فرعية من الاخري ...وليس مجرد التحقق ان المصفوفة 2 مصفوفة فرعية من 1 ام لا بل تحديد اى منهما مصفوفة فرعية من الاخر
3_التحقق من ان المصفوفات متساويات
ومطلوب الاخراج سطر واحد فقط على النحو التالى :
1_ A is Sub of Array B
2_ B is Sub of Array A
3_A and B Are equal
4_ A And B Are Not Sub Of each ather
وحتى يتم معرفة أن مصفوفة ما تعتبر مصفوفة فرعية من الاخري يتم ذلك عن طريق حلقتين دوران متداخلتين ...الحلقة الخارجية يتم فيها المرور على جميع عناصر المصفوفة arr2_وهى المصفوفة الاصغر حجما المراد معرفه انها جزء من الكبري_ واحدة تلو الأخرى. الحلقة الداخلية تبحث خطيًا داخل المصفوفة arr1_ المصفوفة الاكبر حجما _عن العنصر الذي تم انتقاؤه بواسطة الحلقة الخارجية إذا تم العثور على جميع العناصر أذا المصفوفة arr2 تعتبر مصفوفة فرعية من arr1 أم غير ذلك فلا تعتبر المصفوفة arr2 جزء منها .
أما بالنسبة لمعرفة هل المصفوفتين متساويات أم لا يتم الحقق من ذلك باستخدام أولا جملة شرطية للتحقق من ان حجمها واحد اذا كان الامر كذل يتم استخدام حلقة دوران لمقارنة عناصر كل مصفوفة للتاكد من مطابقتها أم اذا كانت احدى المصفوفات أكبر من الاخرى فلا داعى لحلقة الدوران فاكييد عناصرالمصفوفتين غير متطابقة
أذن مخطط البرنامج سيكون على النحو التالى :
1_معرفة حجم المصفوفات حتى نحدد اى من المصفوفتين يتم البحث فيها خطيا بمعلومة عناصر المصفوفة الاصغر
2_تنفيذ حلقين الدوران للتاكد من ان مصفوفة معينة فرعية من اخرى وطباعة الناتج
3_إنشاء حلقة دوران للتاكد من تطابق عناصر كلا المصفوفتين
الحل على النحو التالى :
مازلنا مع بعض الاسئلة التى يتم ارسالها للحل و اليكم السؤان التالى :
هذا السؤال يتطلب الاتى :
1_ إنشاء طريقة باسم compera تسقبل مصفوفتين غير معلومة الحجم يتم ادخلها عناصرهما عن طريق المستخدم
2_ تقوم الطريقة بالتححق من اى من هذين المصفوفتين تعتبر مصفوفة فرعية من الاخري ...وليس مجرد التحقق ان المصفوفة 2 مصفوفة فرعية من 1 ام لا بل تحديد اى منهما مصفوفة فرعية من الاخر
3_التحقق من ان المصفوفات متساويات
ومطلوب الاخراج سطر واحد فقط على النحو التالى :
1_ A is Sub of Array B
2_ B is Sub of Array A
3_A and B Are equal
4_ A And B Are Not Sub Of each ather
وحتى يتم معرفة أن مصفوفة ما تعتبر مصفوفة فرعية من الاخري يتم ذلك عن طريق حلقتين دوران متداخلتين ...الحلقة الخارجية يتم فيها المرور على جميع عناصر المصفوفة arr2_وهى المصفوفة الاصغر حجما المراد معرفه انها جزء من الكبري_ واحدة تلو الأخرى. الحلقة الداخلية تبحث خطيًا داخل المصفوفة arr1_ المصفوفة الاكبر حجما _عن العنصر الذي تم انتقاؤه بواسطة الحلقة الخارجية إذا تم العثور على جميع العناصر أذا المصفوفة arr2 تعتبر مصفوفة فرعية من arr1 أم غير ذلك فلا تعتبر المصفوفة arr2 جزء منها .
أما بالنسبة لمعرفة هل المصفوفتين متساويات أم لا يتم الحقق من ذلك باستخدام أولا جملة شرطية للتحقق من ان حجمها واحد اذا كان الامر كذل يتم استخدام حلقة دوران لمقارنة عناصر كل مصفوفة للتاكد من مطابقتها أم اذا كانت احدى المصفوفات أكبر من الاخرى فلا داعى لحلقة الدوران فاكييد عناصرالمصفوفتين غير متطابقة
أذن مخطط البرنامج سيكون على النحو التالى :
1_معرفة حجم المصفوفات حتى نحدد اى من المصفوفتين يتم البحث فيها خطيا بمعلومة عناصر المصفوفة الاصغر
2_تنفيذ حلقين الدوران للتاكد من ان مصفوفة معينة فرعية من اخرى وطباعة الناتج
3_إنشاء حلقة دوران للتاكد من تطابق عناصر كلا المصفوفتين
الحل على النحو التالى :
- الكود:
public class NewMain {
static int compera(int A[], int B[]){
int Size_A = A.length;
int Size_B = B.length;
int i = 0;
int j = 0;
if (Size_A > Size_B) { // اذا كانت حجم المصفوفة الاولى اكبر من حجم المصفوفة الثانية
for (i = 0; i < Size_B; i++){ // حلقة دوران للمرور على كافة عناصر المصفوفة الثانية
for (j = 0; j < Size_A; j++){ // حلقة دروان للمرور على كافة عناصر المصفوفة الاولى
if(B[i] == A[j]) // جملة شرطية للتاكد هل جميع عناصر المجموعة الثانية تساوي قيم بالمصفوفة الاولى
break; // اذا تم مطابقة قيمة يتم ايقاف حلقة الدوران الداخلية
}
if (j == Size_A){ return 0;} else{ return 1;} // جملة شرطية للتاكد من تساوي قيمة مؤشر الحلقة الداخلية مع حجم المصفوفة الام
// اذا تساوى المؤشر معنى ذلك
// استمر الدروان فى الحلقة الداخلية ولم يتم العثور على كافة العناصر
} // و بالتالى ارجاع القيمة صفر التى تعبر عن ان تلك المصفوفة ليست فرعية من الاخري
}else if (Size_A < Size_B) { // اذا كان حجم المصفوفة الثانية هى الاكبر تؤخذ كمصفوفة رئسية
for (i = 0; i < Size_A; i++){
for (j = 0; j < Size_B; j++){
if(A[i] == B[j])
break;
}
if (j == Size_B){ return 0;} else{ return 2;}
}
} else if(Size_A == Size_B){ // اذا كان حجم المصفوفات متساويات
for ( i = 0; i < Size_A; i++) // حلقة دوران باستخدام حجم احدي المصفوفتين
if (A[i] == B[i]) return 3; // ارجاع القيمة ثلاثة اذا تساوي جميع القيم فى كلا المصفوفتين
}
// غير ذلك من الحالات السابقة
return 0;
}
public static void main (String[] args)
{
int A[] = { 1,2,3,4,5 };
int B[] = { 1,2,3,4,5 };
switch (compera(A,B)){
case 0:
System.out.println("A And B Are Not Sub OF Each Other!");
break;
case 1:
System.out.println("Array B is a subset of array A");
break;
case 2:
System.out.println("Array A is a subset of array B");
break;
case 3:
System.out.println("A And B Are Equal");
}
}
}
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft