الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خوارزمية ايجاد جميع المجموعات الجزئية لمجموعة اعد

مغلق
بدأه romanof في 16 فبراير 2005 · 2 رد · 693 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

(خوارزمية ايجاد جميع المجموعات الجزئية لمجموعة اعداد معطاة (الاعداد مختلفة

اولا : نضع الاعداد في المصفوفة الاحادبة int a[n]

ثانيا: نكون المصفوفة int b[n]

ثالثا : بما ان عدد المجموعات الجزئية يساوي 2 اس n فاننا نكون تكرارا من 1الى 2 اس n

for (i=1;i<=pow(2,n)-1;i++)

طبعا pow(2,i)-1 لان المجوعة الاولى هي المجموعة الخالية

ناخذ كل عدد من هذه الاعداد i و نحوله الى عدد ثنائي ونخزن العدد الثنائي الناتج في المصفوفة b

j=i;
m=0;
while(j>0)
{
 b[m]= j % 2;
 j=j/2; 
 m=m+1;
}

الان نقوم باختبار جميع عناصر المصفوفة b فاذا قيمة عن قيمة العنصر>0 b[j] فاننا نقوم باخراج العنصر a[j] من

المصفوفة من المصفوفة a

For(j=0;j<n;j++)
 If (b[j]>0)
 {
   printf(“%d”,a[j]);
   
 }

رابعا : الانتقال الى سطر جديد

printf(“\n”);

#include<stdio.h> 
#include<conio.h> 
#include<math.h>

void main()
 {
  int i,j,m;
  int const n=3;
  int  a[n]={1,2,3},b[n]={0};
   clrscr();
   for(i=1;i<pow(2,n)-1;i++)   
   {
     
     m=0;
     j=i;
     while(j>0)   
     {  
         b[m]= j % 2;
         j=j/2; 
         m=m+1;
      }//end of  while
      for(j=0;j<n;j++)
       If (b[j]>0)       
         printf(“%d  ”,a[j]);
   
                printf(“\n”);
       
    
   }// end of for i;

   
    getch();
 }// end of main

خوارزمية ايجاد جميع المجموعات الجزئية لمجموعة اعداد معطاة.doc

تم تعديل هذه المشاركة بواسطة walcom في 19 فبراير 2005 في 09:07

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#2

انا اسف لاني كررت ارسال الموضوع عن غير قصد

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#3

لا بأس :)

قمت بحذف التكرار، وعدلت مشاركتك بوضع الأكواد بين علامتي

شكرا لك وجزاك الله كل خير :)

فكر بطريقة أخرى

هذا الموضوع مغلق.

مواضيع مشابهة