folder Tahribat.com Forumları
linefolder C - C++
linefolder Döngü İçerisinde Farklı İsimlerde Obje Oluşturma



Döngü İçerisinde Farklı İsimlerde Obje Oluşturma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    Merhaba arkadaşlar, döngü içerisinde obje1, obje2, obje3... gibi her seferinde farklı isimde objeler oluşturmak istiyorum.

            for (int i = 1; i <= 100 ; ++i) {
                karakter = 65 + (rand() % 25);
    
                Node<char> *node= new Node<char>(karakter);
    
            }

     

    Yani yapmak istediğim node olarak degilde node1 node2 ... node100. Bu olayı C++'da nasıl yapabilirim fikri olan var mı?

    CnkGn tarafından 01/Ara/15 16:23 tarihinde düzenlenmiştir

    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    mumkun degildir cpp de, zaten döngü dışında kullanamayacaksın o değişkeni.

    http://stackoverflow.com/questions/8641751/how-to-use-a-string-as-a-variable-name-in-c

    http://stackoverflow.com/questions/7143120/convert-string-to-variable-name-or-variable-type

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    rakkoc
    rakkoc's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    Hocam neden array degil bi mantigi var mi


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    rakkoc bunu yazdı

    Hocam neden array degil bi mantigi var mi

    Hocam veri yapilari dersi odevi icin bu yapi. Neden array degil cunku odevde istenen 100 adet random karakter olusturulacak ve her olusturulan karakter bagli liste node'una eklenecek. Ve bu liste uzerinde okuma yapilanlar listeden silinip okundu adinda bir yigita kaydedilecek. 


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    CnkGn bunu yazdı
    rakkoc bunu yazdı

    Hocam neden array degil bi mantigi var mi

    Hocam veri yapilari dersi odevi icin bu yapi. Neden array degil cunku odevde istenen 100 adet random karakter olusturulacak ve her olusturulan karakter bagli liste node'una eklenecek. Ve bu liste uzerinde okuma yapilanlar listeden silinip okundu adinda bir yigita kaydedilecek. 

    Tamamda bunun için niye farklı isimlerde değişkenlere ihtiyacın var? Ayrıca dizilerdede farklı isimde değişkene sahip olmuş oluyorsun belirttiğin şekilde değişkenlere sahip oluyorsun.

    ornek[1] ornek[2 9 .......

    bir çok seçeneğin mevcut.

    Vektorler

    Listeler

    Liste içinde ayrı bağlantılı listeler (multi linked list)

    vs...

     

    Sen bana ayrıntıları bir güzel anlat yardımcı olmaya çalışayım.

    Listen ne  veya ne tür değerler  tutacak?

    Listendeki verilerin uzunlukları sabit olanlar hangisi, uzunlukları dinamik olanlar hangisi?

    Listen tek bağlımı çift bağlımı halkalı mı? bitişli bir liste mi?

    her listede 100 karakterlik bir string mi tutulacak? yoksa 100 nodeluk bir listede herbir node random karakterler mi saklayacak.

     

    Tam anlayamadım anlatmak istediğini

     

     

     

    DrKill tarafından 02/Ara/15 01:48 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    DrKill bunu yazdı
    CnkGn bunu yazdı
    rakkoc bunu yazdı

    Hocam neden array degil bi mantigi var mi

    Hocam veri yapilari dersi odevi icin bu yapi. Neden array degil cunku odevde istenen 100 adet random karakter olusturulacak ve her olusturulan karakter bagli liste node'una eklenecek. Ve bu liste uzerinde okuma yapilanlar listeden silinip okundu adinda bir yigita kaydedilecek. 

    Tamamda bunun için niye farklı isimlerde değişkenlere ihtiyacın var? Ayrıca dizilerdede farklı isimde değişkene sahip olmuş oluyorsun belirttiğin şekilde değişkenlere sahip oluyorsun.

    ornek[1] ornek[2 9 .......

    bir çok seçeneğin mevcut.

    Vektorler

    Listeler

    Liste içinde ayrı bağlantılı listeler (multi linked list)

    vs...

     

    Sen bana ayrıntıları bir güzel anlat yardımcı olmaya çalışayım.

    Listen ne  veya ne tür değerler  tutacak?

    Listendeki verilerin uzunlukları sabit olanlar hangisi, uzunlukları dinamik olanlar hangisi?

    Listen tek bağlımı çift bağlımı halkalı mı? bitişli bir liste mi?

    her listede 100 karakterlik bir string mi tutulacak? yoksa 100 nodeluk bir listede herbir node random karakterler mi saklayacak.

     

    Tam anlayamadım anlatmak istediğini

     

     

     

    bağlı listem generic olacak (c++'da bu yapıya zannediyorum template deniyor) Dediğin gibi yaparsak örn: obje[1],obje[2] ... tek bir array nesnesi var oda obje , ve bizden istenen her bir karakter için yeni bir nesne oluşturmamız isteniyor. Bu nesnede Node(linklist) tipinde olmalı  olmalı. 100 adet karakter üretiyorsam 100 adet node olup bunların birbirine bağlı olması gerekiyor. Zaten dizi kullanmamızın sebebi bu bağlı listeyi kavrayabilmek, o yüzden dizi kullanmıyoruz.

    edit: bağlı liste tek yönlü

    CnkGn tarafından 02/Ara/15 08:43 tarihinde düzenlenmiştir

    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    CnkGn bunu yazdı
    DrKill bunu yazdı
    CnkGn bunu yazdı
    rakkoc bunu yazdı

    Hocam neden array degil bi mantigi var mi

    Hocam veri yapilari dersi odevi icin bu yapi. Neden array degil cunku odevde istenen 100 adet random karakter olusturulacak ve her olusturulan karakter bagli liste node'una eklenecek. Ve bu liste uzerinde okuma yapilanlar listeden silinip okundu adinda bir yigita kaydedilecek. 

    Tamamda bunun için niye farklı isimlerde değişkenlere ihtiyacın var? Ayrıca dizilerdede farklı isimde değişkene sahip olmuş oluyorsun belirttiğin şekilde değişkenlere sahip oluyorsun.

    ornek[1] ornek[2 9 .......

    bir çok seçeneğin mevcut.

    Vektorler

    Listeler

    Liste içinde ayrı bağlantılı listeler (multi linked list)

    vs...

     

    Sen bana ayrıntıları bir güzel anlat yardımcı olmaya çalışayım.

    Listen ne  veya ne tür değerler  tutacak?

    Listendeki verilerin uzunlukları sabit olanlar hangisi, uzunlukları dinamik olanlar hangisi?

    Listen tek bağlımı çift bağlımı halkalı mı? bitişli bir liste mi?

    her listede 100 karakterlik bir string mi tutulacak? yoksa 100 nodeluk bir listede herbir node random karakterler mi saklayacak.

     

    Tam anlayamadım anlatmak istediğini

     

     

     

    bağlı listem generic olacak (c++'da bu yapıya zannediyorum template deniyor) Dediğin gibi yaparsak örn: obje[1],obje[2] ... tek bir array nesnesi var oda obje , ve bizden istenen her bir karakter için yeni bir nesne oluşturmamız isteniyor. Bu nesnede Node(linklist) tipinde olmalı  olmalı. 100 adet karakter üretiyorsam 100 adet node olup bunların birbirine bağlı olması gerekiyor. Zaten dizi kullanmamızın sebebi bu bağlı listeyi kavrayabilmek, o yüzden dizi kullanmıyoruz.

    edit: bağlı liste tek yönlü

    Hocam k. bakma yeni gördüm mesajını.

     

    Şimdi bunun için zaten FARKLI isimlerde değişken oluşturmana gerek yok. Listede istediğin kadar eleman ekle amacın bağlı tek yönlü listelerde LİSTE BAŞINI saklamaktır.

     

    örnek bir struct yapın var diyelim: (direk tbt editörde yazıyorum syntax hataları olabilir)

    typedef struct node {
        char karakter;
        struct node * sonraki;
    } DUGUM;

    typedef struct DUGUM* DUGUMPTR;

     

    Şimdi senin amacın 100 tane karakter oluşturmaksa eğer sen linked listin SADECE başlangıcının kaydetmen yeter, zaten diğer türlü her düğüm birbirine bağlı olduğu için, başlangıçtan ilerleyerek sonuna kadar tüm karakterleri gezebilirsin.

     

    DUGUMPTR (bu aslında NODE yapısının pointer değişkeni yani diğer adıyla NODE *)

    DUGUMPTR baslangic = NULL; //liste başını belirledim şimdi CnkGN. Bu liste başını hiç kaybetmeyeceksin ve oluşturduktan sonra hiçbir şekilde değerinin değiştirmeyeceksin (tüm listeyi silmiyorsan)

     

    Diyeceksin ki

    0

    if(baslangic == NULL) //listemiz oluşturulmadıysa oluşturacaksın @CnkGN

    {

    baslangic = new DUGUM;

    baslangic->karakter = 'C';

    baslangic->sonraki = NULL;

    }

    else //eğer liste oluşturulduysa listenin sonuna kadar git ve düğüme yeni karakteri ekle diyeceksin.

    {

    DUGUMPTR gecici = baslangic;

    while(gecici->sonraki != NULL) //dugumun sonunu buluyoruz....

    gecici = gecici->sonraki;

    }

    son dugumu bulduk yeni karakteri ekleyeceksin.

     

    gecici->sonraki = new DUGUM;

    gecici->sonraki->karakter = 'n';

    gecici->sonraki->sonraki = NULL;

     

     

     

    Bu şekilde her eklemede yeni bir karakter listenin sonuna eklenmiş olacak. Dikkat edersen baslangic göstericisini, oluşturmak haricinde hiç değiştirmedim. Elinde baslangic olduğu sürece listeyi komple yazdırırsın, silersin, arada değiştirmeler yapabilirsin.

     

    Farklı farklı isim ihtiyacın nedir tam olarak anlayamadım. Amacın bu olması lazım.

     

    DrKill tarafından 02/Ara/15 18:11 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    DrKill bunu yazdı
    CnkGn bunu yazdı
    DrKill bunu yazdı
    CnkGn bunu yazdı
    rakkoc bunu yazdı

    Hocam neden array degil bi mantigi var mi

    Hocam veri yapilari dersi odevi icin bu yapi. Neden array degil cunku odevde istenen 100 adet random karakter olusturulacak ve her olusturulan karakter bagli liste node'una eklenecek. Ve bu liste uzerinde okuma yapilanlar listeden silinip okundu adinda bir yigita kaydedilecek. 

    Tamamda bunun için niye farklı isimlerde değişkenlere ihtiyacın var? Ayrıca dizilerdede farklı isimde değişkene sahip olmuş oluyorsun belirttiğin şekilde değişkenlere sahip oluyorsun.

    ornek[1] ornek[2 9 .......

    bir çok seçeneğin mevcut.

    Vektorler

    Listeler

    Liste içinde ayrı bağlantılı listeler (multi linked list)

    vs...

     

    Sen bana ayrıntıları bir güzel anlat yardımcı olmaya çalışayım.

    Listen ne  veya ne tür değerler  tutacak?

    Listendeki verilerin uzunlukları sabit olanlar hangisi, uzunlukları dinamik olanlar hangisi?

    Listen tek bağlımı çift bağlımı halkalı mı? bitişli bir liste mi?

    her listede 100 karakterlik bir string mi tutulacak? yoksa 100 nodeluk bir listede herbir node random karakterler mi saklayacak.

     

    Tam anlayamadım anlatmak istediğini

     

     

     

    bağlı listem generic olacak (c++'da bu yapıya zannediyorum template deniyor) Dediğin gibi yaparsak örn: obje[1],obje[2] ... tek bir array nesnesi var oda obje , ve bizden istenen her bir karakter için yeni bir nesne oluşturmamız isteniyor. Bu nesnede Node(linklist) tipinde olmalı  olmalı. 100 adet karakter üretiyorsam 100 adet node olup bunların birbirine bağlı olması gerekiyor. Zaten dizi kullanmamızın sebebi bu bağlı listeyi kavrayabilmek, o yüzden dizi kullanmıyoruz.

    edit: bağlı liste tek yönlü

    Hocam k. bakma yeni gördüm mesajını.

     

    Şimdi bunun için zaten FARKLI isimlerde değişken oluşturmana gerek yok. Listede istediğin kadar eleman ekle amacın bağlı tek yönlü listelerde LİSTE BAŞINI saklamaktır.

     

    örnek bir struct yapın var diyelim: (direk tbt editörde yazıyorum syntax hataları olabilir)

    typedef struct node {
        char karakter;
        struct node * sonraki;
    } DUGUM;

    typedef struct DUGUM* DUGUMPTR;

     

    Şimdi senin amacın 100 tane karakter oluşturmaksa eğer sen linked listin SADECE başlangıcının kaydetmen yeter, zaten diğer türlü her düğüm birbirine bağlı olduğu için, başlangıçtan ilerleyerek sonuna kadar tüm karakterleri gezebilirsin.

     

    DUGUMPTR (bu aslında NODE yapısının pointer değişkeni yani diğer adıyla NODE *)

    DUGUMPTR baslangic = NULL; //liste başını belirledim şimdi CnkGN. Bu liste başını hiç kaybetmeyeceksin ve oluşturduktan sonra hiçbir şekilde değerinin değiştirmeyeceksin (tüm listeyi silmiyorsan)

     

    Diyeceksin ki

    0

    if(baslangic == NULL) //listemiz oluşturulmadıysa oluşturacaksın @CnkGN

    {

    baslangic = new DUGUM;

    baslangic->karakter = 'C';

    baslangic->sonraki = NULL;

    }

    else //eğer liste oluşturulduysa listenin sonuna kadar git ve düğüme yeni karakteri ekle diyeceksin.

    {

    DUGUMPTR gecici = baslangic;

    while(gecici->sonraki != NULL) //dugumun sonunu buluyoruz....

    gecici = gecici->sonraki;

    }

    son dugumu bulduk yeni karakteri ekleyeceksin.

     

    gecici->sonraki = new DUGUM;

    gecici->sonraki->karakter = 'n';

    gecici->sonraki->sonraki = NULL;

     

     

     

    Bu şekilde her eklemede yeni bir karakter listenin sonuna eklenmiş olacak. Dikkat edersen baslangic göstericisini, oluşturmak haricinde hiç değiştirmedim. Elinde baslangic olduğu sürece listeyi komple yazdırırsın, silersin, arada değiştirmeler yapabilirsin.

     

    Farklı farklı isim ihtiyacın nedir tam olarak anlayamadım. Amacın bu olması lazım.

     

    anladım hocam cok sagolasın, konuyu acarken isimlerinin olması gerektiğini düşünmüştüm ama bu şekilde açıklayınca pek bir öneminin olmadıgını anladım. şimdi uygulayacağım sıkıntı olursa tekrardan rahatsız ederim mahsuru yok ise :)


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
Toplam Hit: 2053 Toplam Mesaj: 8
c farklı isimde objeler