c++ Rekursiv multipliziere 2 Ganzzahlen, die Verwendung von Zusatz

Ich versuche, code zu schreiben, für die Hausaufgaben verwendet Rekursion und neben multiplizieren von zwei ganzen zahlen zusammen. Aber ich bin derzeit immer eine Menge von Fehlermeldungen, und ich bin mir auch nicht sicher, ob ich auf dem richtigen Weg. Und, nur um zu überprüfen, diese ist rekursiv, richtig? Ich schrieb ein Programm für dieses problem, die Super geklappt, bis ich erkannte, es war nicht wirklich rekursiv. Hier ist der vollständige code:

#include <iostream>
#include <iomanip>
using namespace std;
int result;
int m;
int n;

int rmultiply(int m, int n)
{
    if(n > 1)
        return(m + (rmultiply(n - 1)));

    else if ((m == 0) || (n == 0))
        return 0;
    else if (n == 1)
        return m;
}

int main(m, n)
    {
    cout << "Enter two integers to multiply" << endl; //prompt user to input 2 integers
    cin >> m >> n; //store them in variable m and n

    result = rmultiply(m,n);
    cout << result;
    }

Fehler 1: Zu wenige Argumente für Funktion " int rmultiply(int, int)'

return(m + (rmultiply(n - 1)));

Warnung: Steuern Sie erreicht Ende von nicht-void-Funktion

Fehler 2(für code-Zeilen unten): Ausdruck Liste behandelt, als zusammengesetzten Ausdruck in Initialisierung

Fehler 3: Expected ',' or ';' before'{' token

Warnung: Linker operand des Komma-operator hat keine Auswirkungen

int main(m, n)
{

Jede mögliche Hilfe würde geschätzt!

  • Das ist einfach nur dumm. Niemand sollte jemals definieren Sie die Multiplikation auf diese Weise, auch nicht als übung.
  • Der prof will, dass wir lernen, wie man die Rekursion ordnungsgemäß. Seine Entscheidung, Zuordnungen, nicht von mir!
InformationsquelleAutor Neko | 2013-11-11
Schreibe einen Kommentar