Funktionen in der Mathematik (Quadrat Errechnung)



  • Hi,

    Ich soll eine Funktion schreiben, die das Quadrat vom Ergebniss der Multiplikaton die zuvor errechnet wird, wiedergibt.

    Mein Code schaut so aus:

    #include "stdafx.h"
    
    using namespace System;
    
    	Int32 produkt(Int32 x, Int32 y) {
    
    	return (x*y);
    
    }
    
    	Int32 quadrat(Int32 x, Int32 y) {
    
    	return (produkt(void)*produkt(void));
    
    	}
    
    int main(array<System::String ^> ^args)
    
    {
    
    	Int32 einVariable1, einVariable2;
    
    	Console::Write("Geben Sie die erste Zahl ein: ");
    	einVariable1=Convert::ToInt32(Console::ReadLine());
    
    	Console::Write("Geben Sie die zweite Zahl ein: ");
    	einVariable2=Convert::ToInt32(Console::ReadLine());
    
    	Console::WriteLine("Die Multiplikation der beiden Zahlen ergibt {0}",produkt(einVariable1, einVariable2));
    
    	Console::WriteLine("Das Quadrat des Ergebnisses ist {1}",quadrat(einVariable1, einVariable2));
    
        return 0;
    }
    

    Da ich jetzt nach knapp einer Stunde des rumexperementieren nicht weiter komme, hoffe ich um eure hilfe bei der Fehlerbeseitigung.

    P.S. Ih habe gerade erst angefangen C++ zu erlernen, und taste mich jetzt gerade erst mit dem Schreiben von Funktionen ein. 😃



  • [quote="EmporioMilad"]

    Int32 produkt(Int32 x, Int32 y) {
    		return x*y;
    	}
    
    	Int32 quadrat(Int32 x) {
    
    	return x*x;
    
    	}
    
    ...
    
    	Console::WriteLine("Das Quadrat des Ergebnisses ist {1}",quadrat(produkt(einVariable1, einVariable2)));
    


  • wenn ich mir den Code vom OP anschaue soll vermutlich so etwas raus kommen

    Int32 quadrat(Int32 x) {
        return produkt(x, x);
    }
    

    hand, mogel



  • @mogel: Das wäre aber nicht, was er beschrieben hat. Außerdem sieht sein Code in meinen Augen genauso aus, als ob er versucht hätte, das Beschriebene umzusetzen.

    @EmporioMilad: Eine Funktion quadrat braucht natürlich nur einen Parameter (der halt quadriert werden soll). Und deiner Funktion produkt kannst du nicht void übergeben, das kann ja nicht funktionieren. Abgesehen davon, dass sie 2 Parameter verlangt, nicht einen. Nur so für's weitere Verständnis. Volkards Beispiel trifft den Nagel natürlich auf den Kopf...



  • Danke!

    neuer code:

    #include "stdafx.h"
    
    using namespace System;
    
        Int32 produkt(Int32 x, Int32 y) { 
            return x*y; 
        } 
    
        Int32 quadrat(Int32 x) { 
    
        return x*x; 
    
        } 
    
    int main(array<System::String ^> ^args)
    
    {
    
    	Int32 einVariable1, einVariable2;
    
    	Console::Write("Geben Sie die erste Zahl ein: ");
    	einVariable1=Convert::ToInt32(Console::ReadLine());
    
    	Console::Write("Geben Sie die zweite Zahl ein: ");
    	einVariable2=Convert::ToInt32(Console::ReadLine());
    
    	Console::WriteLine("Die Multiplikation der beiden Zahlen ergibt {0}",produkt(einVariable1, einVariable2));
    
        Console::WriteLine("Das Quadrat des Ergebnisses ist {0}",quadrat(produkt(einVariable1, einVariable2))); 
    
        return 0;
    }
    

    Ich musste auch noch bei:

    Console::WriteLine("Das Quadrat des Ergebnisses ist {0}",quadrat(produkt(einVariable1, einVariable2)));
    

    Musste noch {1} in eine [0} ändern. kann mir einer sagen warum? Weil in der Line darüber nutzte ich doch bereits schon das erste mal die {0}... und ich dachte ich fang bei {0} immer an und geh dann immer höher?!



  • die platzhalter Nummerrierung gilt nur für die jeweilige befehlszeile.


Anmelden zum Antworten