data structure cplusplus yardım

0

c++ linked list proje ödevim var bi fonksiyonda takıldık yardım edebilcek biri var mı acaba

sumeyyepars sumeyyepars (1)
9 yıl önce sordu

    Toplam 2 Cevap


    0

    biraz daha açıklayıcı olmalısın

    Örn:

    • Şunu yapmak isterken şu oldu
    • Şöyle yapmak istiyorum
    • Şunu yapmak isterken şu oluyor
    • Şunu nasıl yaparım gibi...

    Ama Anladığım Kadarı ile yardımcı olayım;

    Bir yapıyı tanımlamak için, yapı deyimini kullanmanız gerekir.Struct deyimi program için birden fazla üyesi ile, yeni bir veri türü tanımlar.Struct deyiminin biçimi şudur:

    struct [structure tag]

    {
       member definition;
       member definition;
       ...
       member definition;
    } [one or more structure variables];

    Yapısı etiketi isteğe bağlıdır ve her üye tanım gibi i int gibi normal bir değişken tanımı ise; veya f float; veya başka herhangi bir geçerli değişken tanımı.Yapılar tanımının sonunda, nihai noktalı virgül önce, bir veya daha fazla yapı değişkenleri belirtebilirsiniz ancak isteğe bağlıdır. Burada Kitap yapısını ilan edeceğiniz yol budur:

    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    }book;  

    Bir Yapının Herhangi bir Üyesine Erişmek (Accessing Structure Members:);

    Bir yapının herhangi bir üyesine erişmek için, üye erişimi operatörü olarak  (.) Kullanılmasıdır.Üye erişimi operatörü yapısı değişken adı ve biz erişmek istediğiniz yapı elemanı arasında bir dönem olarak kodlanmıştır. Siz yapı türü değişkenleri tanımlamak için struct anahtar sözcüğü kullanmak istiyorsunuz. Yapının kullanımını açıklamak için örnek aşağıdadır:

    #include <iostream>
    #include <cstring>
     
    using namespace std;
     
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info
       cout << "Book 1 title : " << Book1.title <<endl;
       cout << "Book 1 author : " << Book1.author <<endl;
       cout << "Book 1 subject : " << Book1.subject <<endl;
       cout << "Book 1 id : " << Book1.book_id <<endl;
    
       // Print Book2 info
       cout << "Book 2 title : " << Book2.title <<endl;
       cout << "Book 2 author : " << Book2.author <<endl;
       cout << "Book 2 subject : " << Book2.subject <<endl;
       cout << "Book 2 id : " << Book2.book_id <<endl;
    
       return 0;
    }

    Yukarıdaki kod derlenmiştir ve çalıştırıldığında, aşağıdaki sonucu üretir:

    Book 1 title : Learn C++ Programming
    Book 1 author : Chand Miyan
    Book 1 subject : C++ Programming
    Book 1 id : 6495407
    Book 2 title : Telecom Billing
    Book 2 author : Yakit Singha
    Book 2 subject : Telecom
    Book 2 id : 6495700

    Fonksiyon değişkenlerinin Yapıları (Structures as Function Arguments):

    Başka değişken veya işaretçiye geçmek gibi çok benzer bir şekilde bir fonksiyon argüman olarak bir yapı iletebilirsiniz. Siz yukarıdaki örnekteki gibi benzer şekilde yapı değişkenleri ulaşabilirsiniz:

    örnekile daha iyi anlayacaksınız sanırım;

    #include <iostream>
    #include <cstring>
     
    using namespace std;
    void printBook( struct Books book );
    
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info
       printBook( Book1 );
    
       // Print Book2 info
       printBook( Book2 );
    
       return 0;
    }
    void printBook( struct Books book )
    {
       cout << "Book title : " << book.title <<endl;
       cout << "Book author : " << book.author <<endl;
       cout << "Book subject : " << book.subject <<endl;
       cout << "Book id : " << book.book_id <<endl;
    }

    Yukarıdaki kod derlenmiştir ve çalıştırıldığında, aşağıdaki sonucu üretir:

    Book title : Learn C++ Programming
    Book author : Chand Miyan
    Book subject : C++ Programming
    Book id : 6495407
    Book title : Telecom Billing
    Book author : Yakit Singha
    Book subject : Telecom
    Book id : 6495700

    Yapılar için İşaretçiler (Pointers to Structures):

    Eğer herhangi bir değişken için işaretçi tanımlamak isterseniz, Aşağıdaki gibi tanımlayabilirsiniz.

    struct Books *struct_pointer;

    Şimdi, yukarıda tanımlanan işaretçi değişkenini bir yapı değişkeninin adresinde saklayabilirsiniz. Aşağıdaki gibi bir yapı değişkeninin adresini bulmak için, yapının adından önce ''&''(Tırnaklar Yok) operatörünü koyun:

    struct_pointer = &Book1;

    Aşağıdaki gibidir operatörü -> bu yapı için bir işaretçi kullanarak bir yapının üyeleri erişmek için kullanmanız gerekir

    struct_pointer->title;

     

    Daha iyi kavramanız için;

    #include <iostream>
    #include <cstring>
     
    using namespace std;
    void printBook( struct Books *book );
    
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // Book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // Book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info, passing address of structure
       printBook( &Book1 );
    
       // Print Book1 info, passing address of structure
       printBook( &Book2 );
    
       return 0;
    }
    // This function accept pointer to structure as parameter.
    void printBook( struct Books *book )
    {
       cout << "Book title : " << book->title <<endl;
       cout << "Book author : " << book->author <<endl;
       cout << "Book subject : " << book->subject <<endl;
       cout << "Book id : " << book->book_id <<endl;
    }

     

     

    Yukarıdaki kod derlenmiştir ve çalıştırıldığında, aşağıdaki sonucu üretir:

    Book title : Learn C++ Programming
    Book author : Chand Miyan
    Book subject : C++ Programming
    Book id : 6495407
    Book title : Telecom Billing
    Book author : Yakit Singha
    Book subject : Telecom
    Book id : 6495700
    feritarslan feritarslan (303)
    9 yıl önce cevaplandı

      0

      bi proje var 5 tane maç skorunu random girdik. daha sonra yeni maç skorları girilcek ama bizim görmemiz gereken bütün maç skorları arasından en büyük 5 tanesi olcak. yani bizim sayılarımız 25 30 47 68 70 ise sonraki maç sayısı 42 ise 25 i silcek 42yi eklicek. biz random sayıları yapabildik. minimumu bulmayı da hallettik ama delete fonksiyonunu yazarken hata veriyor neresinde anlayamadık. bu konuda yardıma ihtiyacımız var

      sumeyyepars sumeyyepars (1)
      9 yıl önce cevaplandı

        üyelik gerektirir

        Cevap yazabilmek için üye girişi yapmalısınız.

        Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
        uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol