• 05-05-2020, 18:19:25
    #1
    40 ile 80 arasındaki notları alsın diyoruz ve 76,67,45 i alıyor. Orda 45,57,67,67,74,76,77,78,80 var ama 40,80 arasında.. Yardımcı olabilecek var mı Teklif PM

    oid Tree::OgrenciAramaSinir(int aramaNotu1, int aramaNotu2){ // Arama fonksiyonu için 2 adet alt ve üst sınır parametresi belirliyorum.
    cout<<"----------------"<<endl;
    cout<<"Arama sonucu:"<<endl;
    int sayac=0;
    if(root==0){
    cout<<"Ağaç veri yapısında eleman yoktur, bu sebeple aramaNotu'na sahip öğrenci bulunamamıştır."<<endl;
    }else{
    Node *temp=root;
    while(1){ // arama notu 1'den büyük eşit, arama notu 2'den küçük eşitler.
    if( temp->getOgrenciNotu() >= aramaNotu1 && temp->getOgrenciNotu2() <= aramaNotu2){ // Eğer dönen öğrenci notum parametre ile belirttiğim arama notları aralığında ise...
    sayac++;
    cout<<temp->getOgrenciNo()<<"\t";
    cout<<temp->getOgrenciAdi()<<"\t";
    cout<<temp->getOgrenciSoyadi()<<"\t";
    cout<<temp->getOgrenciNotu()<<endl;
    if( temp->getLeftPointer()!=0){
    temp=temp->getLeftPointer();
    }else{
    break;
    }
    }else if(aramaNotu1 < temp->getOgrenciNotu() || aramaNotu2 > temp->getOgrenciNotu()){ // arama notu 1 küçük ise veya arama notu 2 büyük ise devam et.
    if( temp->getRightPointer()!=0){
    temp=temp->getRightPointer();
    }else{
    break;
    }
    }else{
    if( temp->getLeftPointer()!=0){
    temp=temp->getLeftPointer();
    }else{
    break;
    }
    }
    }
    }
    if(sayac==0){
    cout<<"Arama notu olan "<<aramaNotu<<" değerine eşit ";
    cout<<"bir öğrenci notu ağaç veri yapısında bulunamadı!"<<endl;
    }
    cout<<"--------------------"<<endl;
    }
  • 05-05-2020, 23:08:10
    #2
    Aynı konuyu iki kez açmayın lütfen.
    İyi çalışmalar