funktion wird wert übergeben und hat in der funktion einen andere



  • hy
    folgendes ich hab die funktion :

    bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal,int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist, int endespielfeld);
    

    aufruf

    Gestein=stein_suche_richtung_W_NW_N_NO(spielfeld,spielfeldspalten,spielfeldspalten,8,besetztvongegner,besetztvonwerdranist,leztestelle);
    
    bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal, int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist,int endespielfeld)
    {
    
     if(spielfeldspalten<endespielfeld && feldf[spielfeldspalten]!=besetztvongegner && feldf[spielfeldspalten]==besetztvonwerdranist)
       {
        if(spielfeldspalten==(spiefeldspaltenorignal-vereinfachungdate))
           {
            return false;
           }
           else
           {
             return true;
           }
    
       }
      if(spielfeldspalten<=endespielfeld)
         {
          return false;
        }
    
    stein_suche_richtung_W_NW_N_NO(feldf,spiefeldspaltenorignal,spielfeldspalten-vereinfachungdate,vereinfachungdate,besetztvongegner,besetztvonwerdranist,endespielfeld);
    }
    

    wenn ich mir in der funktion endespielfeld anzeige dan zeigt die immmer 2 dafür ein, ist igall was ich ihr übergebe.

    was mach ich den da flasch ?

    ich danke euch schon für eure mühe



  • Das wage ich zu bezweifeln, mach doch bitte ein ausführbares Minimalbeispiel, damit wir das auch mal testen können!



  • hy

    #include <iostream>
    #include <fstream>
    #include <conio>
    #include <time>
    #include <stdio>
    #include <iomanip>
    #include <windows>
    #include <string>
    using namespace std;
    enum feldzustand{ unbesetzt, besetztvonspieler1, besetztvonspieler2 };
    bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal,int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist, int endespielfeld);
    
    void main()
    {
      static const int spielfeldspalten = 64;
      int gestein;
      enum feldzustand spielfeld[ spielfeldspalten ];
       for(int i=0;i<64;i++)
      {
       spielfeld[i]=unbesetzt;
      }
      spielfeld[27]=besetztvonspieler1;
      spielfeld[28]=besetztvonspieler1;
      spielfeld[35]=besetztvonspieler2;
      spielfeld[36]=besetztvonspieler2;
      cout << " es wird fuer spiefeldspalten 43 uebergeben und fuer endespielfeld 11 fuer diesen fall sollte gestein true sein " << endl ;
       getch();
         gestein=stein_suche_richtung_W_NW_N_NO(spielfeld,spielfeldspalten,spielfeldspalten,8,besetztvonspieler2,besetztvonspieler1,11);
       cout << gestein ;
    
       getch();
    }
    
    bool stein_suche_richtung_W_NW_N_NO(feldzustand feldf[],int spiefeldspaltenorignal, int spielfeldspalten, int vereinfachungdate,int besetztvongegner,int besetztvonwerdranist,int endespielfeld)
    {
    
     cout << endl ;
     cout << "endespielfeld " << besetztvongegner  << endl;
    
     if(spielfeldspalten<endespielfeld && feldf[spielfeldspalten]!=besetztvongegner && feldf[spielfeldspalten]==besetztvonwerdranist)
       {
        if(spielfeldspalten==(spiefeldspaltenorignal-vereinfachungdate))
           {
            return false;
           }
           else
           {
             return true;
           }
    
       }
      if(spielfeldspalten<=endespielfeld)
         {
          return false;
        } 
    
    stein_suche_richtung_W_NW_N_NO(feldf,spiefeldspaltenorignal,spielfeldspalten-vereinfachungdate,vereinfachungdate,besetztvongegner,besetztvonwerdranist,endespielfeld);
    }
    

    so ihr seht was passiert

    und ich verstehe es nicht

    programmier mit borland builder 5.0 standard



  • hy

    so mein dummheit geht grad gegen unendlich

    cout << "endespielfeld " << besetztvongegner

    wenn wissen will was inder variable endespielfeld drin ist sollte man diese sich ausgeben lassrn und nicht besetztvongegner

    jetzt stimmt es


Anmelden zum Antworten