Blatt5_Aufgabe2

Ihr-Domainname.de
Verfügbare Informationen zu "Blatt5_Aufgabe2"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Bully - robert - crisneldo
  • Forum: Ihr-Domainname.de
  • Forenbeschreibung: Beschreibung Ihres Forums
  • aus dem Unterforum: Programmierung
  • Antworten: 3
  • Forum gestartet am: Donnerstag 12.10.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Blatt5_Aufgabe2
  • Letzte Antwort: vor 17 Jahren, 5 Monaten, 26 Tagen, 11 Stunden, 45 Minuten
  • Alle Beiträge und Antworten zu "Blatt5_Aufgabe2"

    Re: Blatt5_Aufgabe2

    Bully - 13.11.2006, 16:51

    Blatt5_Aufgabe2
    brauche mal wieder hilfe habe nen fehler und sehe ihn nicht es geht alles bis auf die berechnung der negativen potenzen also der untere teil danke schonmal 4 help

    private float BerechnePotenz(int nBasis , int nHochzahl )
    {
    int nBasis_Speicher = nBasis;
    int nHochzahl_Speicher;

    if(nHochzahl > 0 )
    {
    for(int i = 1; i < nHochzahl ; i++)
    {
    nBasis = nBasis * nBasis_Speicher;
    }
    return(nBasis);
    }
    if(nHochzahl < 0)
    {
    nHochzahl_Speicher = nHochzahl * -1;
    float nBasis_Erg = 1 / nBasis;

    for (int x = 1; x < nHochzahl_Speicher; x++)
    {
    nBasis_Erg = nBasis_Erg * nBasis_Speicher;

    }
    return (nBasis_Erg);
    }
    return (1);
    }



    Re: Blatt5_Aufgabe2

    robert - 13.11.2006, 18:52


    in den kommentaren hab ich mir im kopf überlegt was deine methode macht mit beispiel 2 und -3

    public float BerechnePotenz(int nBasis , int nHochzahl ) // 2 , -3
    {
    int nBasis_Speicher = nBasis; //2=2
    int nHochzahl_Speicher;

    if(nHochzahl > 0 )
    {
    for(int i = 1; i < nHochzahl ; i++)
    {
    nBasis = nBasis * nBasis_Speicher;
    }
    return(nBasis);
    }
    if(nHochzahl < 0)
    {
    nHochzahl_Speicher = nHochzahl * -1; // 3
    float nBasis_Erg = 1 / nBasis; // 1/2

    for (int x = 1; x < nHochzahl_Speicher; x++) //x<3
    {
    nBasis_Erg = nBasis_Erg * nBasis_Speicher; //1.)1/2*2->2.) 1*2

    }
    return (nBasis_Erg);
    }
    return (1);
    }


    PROBLEM: deine methode macht nicht was sie soll, mach doch einfach bei negativen hochzahlen das selbe wie mit positiven und teil dann 1 durch dein ergebnis! weiss nciht warum dein ergebnis immer 0.0 is



    Re: Blatt5_Aufgabe2

    crisneldo - 13.11.2006, 19:28

    Hier ist die Lösung deines Problems
    Ich schreibe jetzt nur den Teil mit "nHochzahl<0" //Kommentare

    (...)

    if(nHochzahl < 0)
    {
    nHochzahl_Speicher = nHochzahl * -1;
    //float nBasis_Erg = (float)1 / (float)nBasis; //Das benötigst du nicht mehr
    float nBasis_Erg=1; //Es reicht schon aus dies nur mit 1 zu initialisieren

    for (int x = 1; x <= nHochzahl_Speicher; x++) //hier habe ich ein "<=" ergänzt
    {
    nBasis_Erg = nBasis_Erg * nBasis_Speicher;
    }
    return 1/nBasis_Erg;
    }

    (...)

    Gruß

    Christian



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Ihr-Domainname.de

    TEX - gepostet von *natascha* am Samstag 25.11.2006



    Ähnliche Beiträge wie "Blatt5_Aufgabe2"

    Aufgabe2 - fgerard (Donnerstag 10.05.2007)