جستجو

لينک هاي روزانه

برچسب ها

سعید دامغانیان (275)     رادیو صدای ققنوس (106)     برنامه نویسی (104)     ترانه سرا (94)     شعر کوتاه (77)     پایتون (65)     شعر عاشقانه (45)     شاه بیت (30)     منزلگه ققنوس (28)     برگ ریز (21)     شب (19)     ترانه (18)     دامغانیان (17)     شعر (16)     سکوت (13)     جاوا اسکریپت (12)     saeed damghanian (12)     طراحی وب (9)     html (8)     ساختمان داده ها (8)     عکس نوشته (8)     C (7)     سی پلاس پلاس (7)     کوییز پایتون (7)     شعر بی دروغ (6)     آموزش اندروید (5)     ترانه جدید (5)     زبان پایتون (5)     مینا جلالی (5)     android programming (5)     ترانه سعید دامغانیان (5)     مهتاب عاشق (5)     شی گرایی در پایتون (5)     گلایه (4)     بارون (4)     طراحی سایت (4)     دیتابیس در پایتون (4)     پایگاه داده ها پایتون (4)     زبان انگلیسی (3)     غزل (3)     CPP (3)     پروژه پایتون (3)     عاشقانه (2)     رویا (2)     آموزش برنامه نویسی (2)     پس زمینه (2)     فوتوشاپ (2)     استراکچر (2)     اچ تی ام ال (2)     Ajax (2)     ماشین حساب (2)     شعر جدید (2)     طراحی گرافیک (2)     پشته (2)     سپیدار (2)     هلهله (2)     پایگاه داده ها (2)     Python (2)     زبان برنامه نویسی پایتون (2)     الهه ی عشق (2)     کتاب جدید سعید دامغانیان (2)     سقف مهتاب (2)     توابع در پایتون (2)     کلاس در پایتون (2)     مونگو دیبی (2)     طراحی فوتوشاپ (2)     Turtle in Python (2)     پیراهن (1)     غدیر خم (1)     امید دارم (1)     مدار منطقی (1)     تبریک روز پدر (1)     آرایه ها (1)     اعجاز (1)     اعداد اول (1)     پاورقی (1)     رنگ عشق (1)     چشم انتظار (1)     عشق قدیمی (1)     هم نفس (1)     روز پدر (1)     بهونه (1)     سراب (1)     رنگارنگ (1)     تاسوعا (1)     دل بیمار (1)     شهادت حضرت زهرا (1)     کدنویسی (1)     خبرفوری (1)     حل المسائل (1)     کهکشان (1)     فریاد (1)     مبانی کامپیوتر (1)     آتش عشق (1)     English (1)     یادگاری (1)     بهانه (1)     نیایش (1)     خبر فوری (1)     شعر سپید (1)    

   منزلگه ققنوس          


○○○مدیر سایت: سعید دامغانیان
○○مهندس کامپیوتر - نرم افزار
○برنامه نویس فول استک
○عضو ارشد جامعه برنامه نویسی نسترن
○صاحب امتیاز رسانه رادیو صدای ققنوس
○مدرس گرافیک و طراحی سه بعدی

اکانت ما در شبکه هاي اجتماعي :

اکانت ما در فيسبوک  اکانت ما در اينستاگرام  اکانت ما در توييتر


رادیو صدای ققنوس

برنامه ای بنویسید که سایز دو آرایه را از ورودی بخواند. سپس آیتمهای آرایه ها را از ورودی خوانده و سپس دو آرایه را جمع بزند. (میدانیم که حاصل جمع دو آرایه مثلا 3 بعدی، یک آرایه سه بعدی دیگر است که تمام عناصر آن حاصل جمع دو عنصر متناظر در آرایه های اول و دوم است) #ساختمان_داده

برنامه نویسی با سی پلاس

یک نمونه خروجی برنامه بالا:

خروجی برنامه

 دانلود فایل سی پلاس پلاس:

 .   دانلود فایل فشرده    

نوشته شده در سه شنبه بیست و چهارم خرداد ۱۴۰۱ ساعت 21:59 توسط : سعید دامغانیان | دسته : برنامه نویسی با ++c
  •    []

  • لیست پیوندی یک طرفه و دوطرفه را در بخش ساختمان داده وب رادیو صدای ققنوس توضیح داده ایم. دیدیم که در لیست پیوندی یک طرفه فقط امکان حرکت به جلو وجود دارد. در این پست نوع دیگری از لیست پیوندی را مشاهده می کنیم که در آن امکان حرکت به جلو و عقب وجود دارد. به چنین لیست پیوندی، لیست پیوندی دوطرفه گفته می شود. در زیر ویژگی های لیست پیوندی دوگانه یا دوطرفه  آورده شده است.

    https://up.20script.ir/file/7ba8-لیست-پیوندی-دوطرفه-در-پایتون.jpg

    لیست پیوندی دوطرفه حاوی یک عنصر پیوند به نام first و last است.

    هر نود دارای یک فیلد داده و دو فیلد پیوند به نام های next و prev است.

    هر نود با پیوند next خود به نود بعدی متصل میشود .
    هر نود با پیوند last خود به نود قبلی متصل میشود .
    آخرین پیوند به یک نود تهی متصل است که انتهای لیست را نشان میدهد.

    ایجاد لیست پیوند دوطرفه
    با استفاده از کلاس Node یک لیست Double Linked ایجاد می کنیم. اکنون ما از همان رویکردی استفاده می‌کنیم که در لیست پیوندی یکطرفه استفاده می‌شود، اما از head و اشاره‌گرهای next برای تخصیص مناسب برای ایجاد دو پیوند در هر یک از گره‌ها علاوه بر داده‌های موجود در گره استفاده می‌شود.

    ایجاد لیست پیوندی دوطرفه

    درج در لیست پیوندی دوطرفه
    در اینجا، ما می خواهیم با استفاده از برنامه زیر، یک گره را به لیست پیوند دوطرفه درج کنیم. این برنامه از متودی به نام push استفاده می‌کند که گره جدید را در لیست پیوندی دوطرفه درج می‌کند.

    درج در لیست پیوندی دو طرفه

    الحاق یا Appending یا درج در انتها به یک لیست پیوندی دوگانه
    الحاق به یک لیست دارای پیوند دوطرفه ، عنصر را در انتهای لیست پیوندی اضافه می کند.

    الحاق به لیست پیوندی

    لیست پیوندی دوطرفه

    جهت دانلود سورس کدهای موجود در این مقاله از لینک زیر استفاده کنید:

    دانلود سورس کدها

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در یکشنبه هشتم اسفند ۱۴۰۰ ساعت 11:48 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • در مسئله برج هانوی سه میله‌ در اختیار داریم
    - میله‌ی مبدأ (A) ، میله‌ی کمکی (B) و میله‌ی مقصد (C) - و تعدادی دیسک در میله‌ی مبدأ داریم. 
    - هدف انتقال تمام دیسک‌ها از این میله به میله‌ی مقصد با رعایت دو شرط زیر است:

    • نباید در هیچ زمانی دیسکی با اندازه بزرگتر را بر روی دیسک با اندازه‌ی کوچکتر قراردهیم.

    • در هر زمان فقط یک دیسک را می‌توانیم جابجا نماییم.

    به عنوان مثال، اگر سه دیسک سبز و سفید و قرمز طبق شکل زیر بر روی میله A قرار گرفته باشد ، می خواهیم این سه دیسک را با همین ترتیب به میله C منتقل کنیم .برای سه دیسک زیر ابتدا دیسک قرمز را به میله C منتقل میکنیم. سپس دیسک سفید را به میله B منتقل میکنیم. دیسک قرمز را از میله C به B و سپس دیسک سبز را به دیسک C منتقل میکنیم. حال دیسک سفید را از میله B روی میله C  و نهایتا دیسک قرمز را از میله A به روی میله ی C قرار میدهیم.

    https://up.20script.ir/file/0699-برج-هانوی.jpg

    برنامه پایتون زیر مراحل جابجایی برای 4 دیسک را از میله 1 به میله 3 با کمک میله2 نشان میدهد. 
    برای افزایش تعداد دیسکها میتوانید عدد 4 را تغییر دهید. 
    یا مقدار ورودی اول یعنی عدد n را که نمایشگر تعداد دیسکهاست از کاربر به عنوان ورودی بگیرید.
    

     

    https://up.20script.ir/file/78f3-برج-هانوی.jpg

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در جمعه ششم اسفند ۱۴۰۰ ساعت 15:7 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • مرتب سازی ادغامی یا  (Merge Sort) به روش تقسیم و غلبه (Divide and Conquer) عمل می کند. این الگوریتم آرایه داده شده را به چندین بخش کوچک تر تقسیم می کند ، تا به بخشهای تک عنصری برسیم سپس به صورت بازگشتی بخشهای کوچکتر در مقایسه با هم مرتب شده و در هم ادغام میشوند تا در نهایت کل آرایه مرتب شود.

    تصویر زیر کل فرآیند مرتب سازی یک آرایه توسط الگوریتم مرتب سازی ادغامی را نشان می دهد. تقسیم آرایه به زیر آرایه‌های کوچکتر تا زمانی که تعداد عناصر به ۱ نرسیده، ادامه می یابد. زمانی که به ۱ رسید، فرآیند ادغام کردن بلوک های مختلف شروع می شود و تا ادغام کل آرایه ادامه می یابد.

    https://up.20script.ir/file/2ca5-مرتب-سازی-ادغامی.jpg

    • پیچیدگی زمانی در هر سه حالت (بدترین، متوسط، بهترین) برابر است (nlogn)Θ
    • فضای اضافه برابر است با O(n).
    • این الگوریتم برای مرتب سازی لیستهای پیوندی با زمان O(nlogn) مناسب است

    پیاده سازی مرتب سازی ادغامی در پایتون را ضمیمه نموده ایم:

    دانلود سورس کد مرتب سازی ادغامی (پایتون)

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در جمعه ششم اسفند ۱۴۰۰ ساعت 14:33 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • برنامه ای نوشتیم که با استفاده از الگوریتم بازگشتی ، عددی را از کاربر بگیرد و شکلی متناظر با آن عدد در خروجی نمایش دهد مثلا برای ورودی با عدد 4  خروجی زیر حاصل میشود. الگوریتم بازگشتی ضمیمه شده است. سعی کنید الگوریتم غیر بازگشتی را نوشته و برای ما ارسال نمایید.

    ساختمان داده ها

    کدی که خروجی بالا و مشابه آن را حاصل میکند در زیر آورده شده است #ساختمان_داده_ها

    الگوریتم بازگشتی ساختمان داده ها

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در چهارشنبه سیزدهم بهمن ۱۴۰۰ ساعت 19:49 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • S مجموعه‌ای از دستورات است. تعداد تکرار را مشخص کنید. (پاسخ در بخش ادامه مطلب)

    ساختمان داده ها

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در یکشنبه دهم بهمن ۱۴۰۰ ساعت 18:21 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  • [ادامه مطلب]   []

  • توجه | این مطلب منحصر به وبلاگ منزلگه ققنوس بوده . هرگونه کپی برداری غیر مجاز است...

    این برنامه یک عبارت میانوندی از ورودی می گیرد و به عبارت پسوندی تبدیل می کند :


    // the program is used to convert a infix expression to a postfix expression
     
    #include< iostream.h >
    #include< stdio.h >
    #include< conio.h >
    #include< string.h >
    #include< stdlib.h >
     
     
     
    const int size =50;
    char infix[size],postfix[size],stack[size];
    int top=-1;
     
    int precedence(char ch);   // function to get the precedence of the operator
    char pop();  //function to pop an element from the stack
    char topelement();  // returns the top element of the stack
    void push(char ch);  // pushes an element into the stack
     
     
     
    int main()
    {
         char ele,elem,st[2];
         int prep,pre,popped,j=0,chk=0;
         strcpy(postfix," ");
            
         gets(infix);
        
         for(int i=0;infix[i]!=0;i++)
              {
                      if(infix[i]!='('&&infix[i]!=')'&&infix[i]!='^'&&infix[i]!='*'&&infix[i]!='/'&&infix[i]!='+'&&infix[i]!='-')  

                           postfix[j++]=infix[i];
                      else if(infix[i]=='(')
                          {
                             elem=infix[i];
                             push(elem);
                          }
                      else if(infix[i]==')')
                          {
                             while(popped=pop() != '(')
                                 postfix[j++]=popped;
                          }
                      else
                          {
                             elem=infix[i];
                             pre=precedence(elem);//stores the precedence of operator coming frm infix
                             ele=topelement();
                             prep=precedence(ele);//stores the precedence of operator at the top of the stack
                           
                             if(pre > prep)
                               push(elem);                                      
                              
                             else
                               {
                                    while(prep >= pre)
                                      {
                                         if(ele=='#')
                                           break;
                                         popped=pop();
                                         ele=topelement();
                                         postfix[j++]=popped;
                                         prep=precedence(ele);
                                       }
                                       push(elem);
                                }
                             }
                 }
                
              while((popped=pop())!='#')
                  postfix[j++]=popped;
              postfix[j]='\0';
             
              cout<<"\n post fix :"<
              
               system("pause");
               return 0;
    }
     
    int precedence(char ch)
    {
           switch(ch)
              {
                   case '^' : return 5;
                   case '/' : return 4;
                   case '*' : return 4;                                         
                   case '+' : return 3;
                   case '-' : return 3;
                   default  : return 0;
              }
    }
     
    char pop()                  //function to pop the element from the stack
    {
         char ret;
         if(top!=-1)
           {  ret =stack[top];
              top--;
              return ret;
           }
         else
            return '#';
    }
                            
    char topelement()          // function to return top element from the stack without popping
    {  
          char ch;
          if(top!=-1)
            ch=stack[top];
          else
             ch='#';
           return ch;
    }
     
    void push(char ch)          // function to push an element in the stack
    {
         if(top!=size-1)
             {
                top++;
                stack[top]= ch;
             }
    }


    نوشته شده در جمعه هجدهم اسفند ۱۳۹۱ ساعت 16:51 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • سلام
    --------------------------------
    #include < stdio.h >
    #include < conio.h >
    #include < math.h >
    #define N 3
    #define FALSE 0
    void main()
    {
        int array_1[N][N],i,j;
        int array_2[N][N]={0,0,0,0,0,0,0,0,0};
        clrscr();
        for (i=0;i
        for (j=0;j
            printf("Enter A[%d][%d]:\0",i,j);
            scanf("%d",&array_1[i][j]);
            array_2[j][i]=array_1[i][j];
    }
       printf("\n\n");
       for (i=0;i
          for (j=0;j
            printf("]",array_2[i][j]);
       printf("\n");
    }
       getch();
    }

    نوشته شده در پنجشنبه دهم اسفند ۱۳۹۱ ساعت 9:16 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • #include < iostream >
    #include < conio.h >
    using namespace std;
    void sum(int S1[][3] , int S2[][3] , int C[][3])
     {
       int k=1,found;
       if (S1[0][0]!=S2[0][0] && S1[0][1]!=S2[0][1])
      {
          cout <<"Grade of these matrix dos'nt match!\n";
          exit(1);
      }
       C[0][0]=S1[0][0];
       C[0][1]=S2[0][1];
       C[0][2]=0;
       for (int i=1 ; i<=S1[0][2] ; i++)
        for (int j=1 ; j<=S2[0][2] ; j++)
          if (S1[i][0]==S2[j][0] && S1[i][1]==S2[j][1])
            {
              C[k][0]=S1[i][0];
              C[k][1]=S1[i][1];
              C[k][2]=S1[i][2]+S2[j][2];
              k++;
              break;
            }
           else{
               found=0;
               for (int y=k-1 ; y>=1 ; y--)
                 if (C[y][0]==S1[i][0] && C[y][1]==S1[i][1])
                   found=1;
                 if (!found)
                   {
                   C[k][0]=S1[i][0];
                   C[k][1]=S1[i][1];
                   C[k][2]=S1[i][2];
                   k++;
                   }
                   found=0;
            for (int y=k-1 ; y>=1 ; y--)
              if (C[y][0]==S2[j][0] && C[y][1]==S2[j][1])
                 found=1;
              if (!found){
                C[k][0]=S2[j][0];
                C[k][1]=S2[j][1];
                C[k][2]=S2[j][2];
                k++;
                  }
                }
             for (int i=1 ; i<6 ; i++)
                if (C[i][2])
                   C[0][2]++;
                    }
    int main()
    {
       int A[4][3]=
       {{3,4,3},{1,2,5},{2,1,6},{0,3,1}},B[3][3]={{3,4,2},{1,2,4},{0,2,3}},C[6][3]={0};
       sum(A , B , C);
       for (int i=0 ; i<6 ; i++)
          for (int j=0 ; j<3 ; j++)
          cout <      cout<<"\n";
          return 0;
       }

    نوشته شده در پنجشنبه دهم اسفند ۱۳۹۱ ساعت 9:8 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • برنامه ضرب دو ماتریس

    کد:
    #include < iostream.h >
    //damghanian.tk
    void input (int a[][10],int r1,int c1,int b[][10],int r2,int c2)
    {
    cout<<"enter matrix a=\n";
    for(int i=0;i   for(int j=0;j   {
        cout<<"enter "<     cin>>a[i][j];
      }
    cout<<"enter matrix b=\n";
    for(int q=0;q   for(int w=0;w   {
        cout<<"enter "<     cin>>b[q][w];
      }
    }
    //******************
    void multi(int a[][10],int r1,int c1,int b[][10],int c[][10],int c2)
    {
    int sum;
    for(int m=0;m {
      for(int i=0;i   {
        sum=0;
        for(int j=0;j      sum=sum+(a[i][j]*b[j][m]);
        c[i][m]=sum;
      }
    }
    }
    //******************
    void print(int c[][10],int r1,int c2)
    {
    for(int i=0;i   {
      for(int j=0;j     cout<   cout<<"\n";
      }
    }
    //******************
    void main()
    {

    int a[10][10],b[10][10],c[10][10];
    int r1,c1,r2,c2;
    do{
    cout<<"enter Row & Column for a=";
    cin>>r1;
    cin>>c1;
    cout<<"enter Row & Column for b=";
    cin>>r2;
    cin>>c2;
    if(c1!=r2)
    cout<<"error\n";
    }while(c1!=r2);
    input(a,r1,c1,b,r2,c2);
    multi(a,r1,c1,b,c,c2);
    print(c,r1,c2);

    و اگر انسان، انسان بود دگر همه چیز بود و هیچ چیز نبود

    و در پــــوچـــی زاری هسـت که عـین هستیــــست
    و به یقین می گویم که پوچ، پوچ نیست

    نوشته شده در پنجشنبه دهم اسفند ۱۳۹۱ ساعت 8:40 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • نوشته شده در دوشنبه هفتم اسفند ۱۳۹۱ ساعت 19:27 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • < کلیه حقوق این پست متعلق به منزلگه ققنوس بوده و کپی برداری تنها با ذکر منبع مجاز است >

    آرایه ها :

    مجموعه ای متوالی از عناصر هم جنس که تحت عنوان یک نام ذخیره می شوند.

    int x[5];   //it is an array with 5 elements

    Array Presentation

    مثال:

    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};char greeting[] = "Hello";
    String Presentation in C/C++
    برنامه ی زیر را می نویسیم و اجرا می کنیم:
    #include < iostream >
    using namespace std;
    int main () {
      
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
       cout
    << "Greeting message: ";
       cout
    << greeting << endl;
      
    return 0; }
    خروجی برنامه ی فوق بصورت زیر خواهد بود :
    Greeting message: Hello


    توابع مهم در مورد آرایه ها و شرح وظایف آنها:

    Function & Purpose

    strcpy(s1, s2);
    Copies string s2 into string s1.

    strcat(s1, s2);
    Concatenates string s2 onto the end of string s1.

    strlen(s1);
    Returns the length of string s1.

    strcmp(s1, s2);
    Returns 0 if s1 and s2 are the same; less than 0 if s1s2.

    strchr(s1, ch);
    Returns a pointer to the first occurrence of character ch in string s1.

    strstr(s1, s2);
    Returns a pointer to the first occurrence of string s2 in string s1.
    مثال| مطلوبست خروجی قطعه کد زیر:
    #include <  iostream  > #include <  cstring  >
    using namespace std;
    int main () {
      
    char str1[10] = "Hello";
      
    char str2[10] = "World";
       char
    str3[10]; int len ;
      // copy str1 into str3

      strcpy
    ( str3, str1);
      cout
    << "strcpy( str3, str1) : " << str3 << endl;
     
    // concatenates str1 and str2 strcat( str1, str2);
      cout
    << "strcat( str1, str2): " << str1 << endl;
     
    // total lenghth of str1 after concatenation len = strlen(str1);
      cout
    << "strlen(str1) : " << len << endl;
      
    return 0;
    }

    و این هم خروجی کد بالا :
    strcpy( str3, str1) : Hello
    strcat( str1, str2): HelloWorld
    strlen(str1) : 10

    نوشته شده در شنبه پنجم اسفند ۱۳۹۱ ساعت 20:55 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • مرتبه زمانی شبه کد زیر چیست؟
    الف) n ب) 1 ج) logn د) n2
    i = 1;
    while ( i <= n )
    {
    X++;
    i = n + 1;
    }
    __________________________________________________
    حل:
    ب)
    اجرای دستور While مستقل از مقدار n است و برای هر n داده شده فقط یک بار اجرا خواهد شد یعنی رشد آن صفر است پس مرتبه زمانی ثابت و از مرتبه n به توان صفر یا همان یک است.


    مرتبه زمانی شبه کد زیر چیست؟
    الف) n ب) n2 ج) logn د) nlogn
    i = 1;
    while ( i <= n )
    {
    X++;
    i++;
    }
    ________________________________________________________
    حل:
    بعهده ی خود شما
    اولین نفری که جواب درست بده برندست . دی :-)

    مرتبه زمانی شبه کد زیر چیست؟
    الف) n ب) n^2 ج) logn د) nlogn
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
    x++;
    ___________________________________________________
    حل:
    گزینه ب صحیح است.
    n * n = n^2 :
    j: n times
    i : n times

    نوشته شده در شنبه پنجم اسفند ۱۳۹۱ ساعت 20:25 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  • محاسبه ی فاکتوریل یک عدد به شیوه ی تکرار و شیوه ی بازگشتی

    در این برنامه دو تابع نوشته شده که یکی به شیوه بازگشتی و دیگری به شیوه تکرار فاکتوریل عدد را محاسبه می کند.

    #include

    using namespace std;

    long fact1(int);

    void fact2();

    int main(){

       cout<<"Entekhab Konid: "<

       cout<<"1- Mohasebeye Factoriel Be shiveye Bazgashti."<

       cout<<"2- Mohasebeye Factoriel Be shiveye Tekrar. "<

       cout<<"3-Exit."<

       int select;

       int n;

       cin>>select;

       switch(select)

    {

       case(1):

          cout<<"Enter a number for calculate facturiel: ";

          cin>>n;

          long fact;

          fact=fact1(n);

          cout<<"Factoriel of number is: "<

          system("pause");

          break;

       case(2):

          fact2();

          break;

       case(3):

          return 0;

    }

    }

    long fact1(int n){

       if(n==1)

          return 1;

       else

          return n*fact1(n-1);

    }

    void fact2(){

       cout<<"Enter a number: ";

       int n;

       cin>>n;

       long f=1;

       for(int i=1;i<=n;i++)

       f*=i;

       cout<<"Factoriel of number is: "<

       system("pause");

    }

    نوشته شده در جمعه بیست و هفتم بهمن ۱۳۹۱ ساعت 8:16 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []

  •                         
     Linked list   Array   Dynamic array   Balanced tree
    
    Indexing                          Θ(n)   Θ(1)       Θ(1)             Θ(log n)
    Insert/delete at beginning        Θ(1)   N/A        Θ(n)             Θ(log n)
    Insert/delete at end              Θ(1)   N/A        Θ(1) amortized   Θ(log n)
    Insert/delete in middle     search time 
                                    + Θ(1)   N/A        Θ(n)             Θ(log n)
    Wasted space (average)            Θ(n)    0         Θ(n)[2]          Θ(n)

    نوشته شده در سه شنبه پنجم دی ۱۳۹۱ ساعت 20:34 توسط : سعید دامغانیان | دسته : ساختمان داده ها
  •    []