folder Tahribat.com Forumları
linefolder C - C++
linefolder C - Diziler Hakkında Ufak Bir Soru



C - Diziler Hakkında Ufak Bir Soru

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    #include <cstdlib>
    #include <iostream>
    //#include <ctime>
    using namespace std;

    int main(int argc, char *argv[])
    {
       int es,i;
       int s[999];
       int r[999];
       int eleman,ou,kes,d,rasgel,j;
       float dag;
       cout<<"eleman saysısını giriniz"<<endl;
       cin>>es;
      
       printf(" bu program %d elemanli  karisik bir dizi olusturacak \n",es);
      
       // sıralı dizi oluştur
       for (i=0;i<=es-1;i++)
       {
           s[i]=i+1;//sıralı dizi
       }
       // sıralı dizi
       for (i=0;i<=es-1;i++)
       {
       cout<<i<<","<<s[i]<<endl;
       }
         
       cout<<"xxxxxxxxxxxxxxx"<<endl;
      
        
       kes=es-1; //kes s dizisinde kalan eleman sayısının o anki maks indisi bu indis ilk başta es-1 e eşittir "es" eleman sayısı sabit kes "kalan eleman sayısı" değişir
       for (i=0;i<=es-1;i++) // dizi yerleştirme döngüsü
       {
          srand(time(0));
          ou=kes+1;//  rand  anahtarına kes verirsek mod alacağı için 0 - (kes-1) aralığında sayı üretir o yüzden kes+1 yapıyoruz
          rasgel=rand()%ou;
          r[i]=s[rasgel]; 
          dag=100*rasgel/ou;
          cout<<"sira "<<i<<"  secilen eleman "<<rasgel<<"  uzay,"<<kes+1<<"  dagilim"<<dag<<endl;//monitör
         
             for (d=rasgel;d<=kes;d++)//elemanları sola kaydırma döngüsü
             {
             s[d]=s[d+1];
             }
           
             kes=kes-1;
            
                                                                                        
       }
      
       cout<<"xxxxxxx"<<endl;
       yazdir:
      
       for (i=0;i<=es-1;i++)
       {
       cout<<i<<","<<r[i]<<endl;
       }
      
       saglama:
               // tekrarlanan eleman var mı diye bakalım
               for(i=0;i<=es-2;i++)
               {
                 for (j=i+1;j<=es-1;j++)
                     {
                     
                        if(r[i]==r[j])
                        {
                          cout<<"z2 tuttun algoritma yanlış";
                        }
                        
                      }
                 
               }
            
      
      
        system("PAUSE");
        return EXIT_SUCCESS;
    }


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek
    Gece oturup cok benzerini yazdim ama yine de tekrar cok sagol hocam

    since 2005 // tbt
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    aslında dün 1130 gibi yazmıştım ama siteye erişimde problem vardı..


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

    ltcelik bunu yazdı:
    -----------------------------

    seretide'ın yönteminde ise zaten var olan elemanların ( bir türlü üretilmeyen "27" ve "63" de dizinin elemnaları olarak mevcut) yerlerini şansa bağlı olarak değiştirdiğimizden döngünün sonsuz ıraksaması gibi bir sorunda ortaya çıkmayacaktır.. ancak bu sefer de seçmesi gereken eleman indislerini seçerken aynı sorun ortaya çıkıyor..





    -----------------------------

    ne demek istediğini pek anlayamadım ne diye 2 dizi kullanıyosunki

    dizideki her elemanı dizideki rastgele başka bi elemanla değiştiriyosun sadece mesela

    1 2 3 4 5 dizisi

    1. sayı için random 3 çıktı

    3 2 1 4 5 oldu

    2. sayı için 3 çıktı

    3 1  2 4 5 oldu

    3.sayı için 5 çıktı

    3 1 5 4 2 oldu

    bu şekilde bunu dizideki her eleman içinde yapıyosun elinde rastgele bi dizi oluyo.Kaç sayı olursa olsun toplam n adımda bitiyo herşey


    Saçma
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    Haklısın  tam anlamışım yöntemi...


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
Toplam Hit: 2787 Toplam Mesaj: 16