Berechnungsproblem x hoch y

Raetsel

Grünschnabel
N'Abend ich ich sitz hier verzweifelt an einer Aufgabe und krieg die nicht gebacken. Man soll 2 Zahlen eingeben, die erste ist x und die zweite y, dann soll das ganze rekursiv berechnet werden also x hoch y.

Mein Ansatz schaut bis jetzt so aus:

Code:
if( opChoice ==8)

{

cout << "Bitte geben Sie als erstes x ein:";

cin >> X;

cout << "Bitte geben Sie jetzt y ein:";

cin >> Y;

int x = X;

int y = Y;

for(int i;i==y;i++)

{

int ergebnis =(x*x);

cout<< ergebnis <<'\n';

}

}
Kann mir da jemand helfen, oder zumindest sagen, ob ich da total falsch liege mit? Wär echt super
 
Hallo!

Code:
// Pow.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <iostream.h>


double pow(double a, double b){
	if(b == 0.0){
		return 1.0;	
	}else if(b < 0.0){
		return 1.0 / a * pow(a,b+1.0);
	}else {
		return a * pow(a,b-1.0);
	}
}



int main(int argc, char* argv[])
{
	
	cout << pow(2,3) << "\n";
	cout << pow(2,-3) << "\n";

	return 0;
}

Gruß tom
 
moin


Außerdem hat das was du da gemacht hast, ncihts mit Rekursiv zu tun!

Hier ein Beispiel für die Variante mit Schleife:
Code:
int potenz(int basis, int exponent)
{
	int ergebnis = 1; //1 ist nötig

	for(int i=0; i<exponent; i++)
		ergebnis *= basis;

	return ergebnis;
}


mfg
umbrasaxum
 
Code:
for(int i;i==y;i++)

{

int ergebnis =(x*x);

cout<< ergebnis <<'\n';

}
Kann ja sein, dass ich mich irre, aber müsste man i nicht noch einen Wert zuweisen?
 
moin


Ja müsste man, aber das ist nciht der einzige Fehler.
i==y wird nichts bringen und int ergebnis = x*x bringt auch immer nur die gleich Werte.
Oben stehen ja aber schon 2 Lösungswege.


mfg
umbrasaxum
 
Danke für eure schnellen Antworten, ich hab es mir jetzt nach eueren beiden Varianten mal zurechtgefummelt. Danke
 
Zurück