Potenzieren :-(
-
Dieser Thread wurde von Moderator/in KlausB aus dem Forum VCL (C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo
int a=1; int x; cin >> x; for(int i=0;i<x;i++) { a=a*2; cout<<"2^" << (i+1) << " = " << a << std::endl; }bis bald
akari
-
Poste den Quelltext, der den Fehler produziert.
Beschreibe den Fehler, der auftritt. Ist es ein Compilerfehler oder produziert dein Programm nicht die erwarteten Ergbnisse?Ohne diese Informationen kann man nur raten, was du tust und was der "Fehler" ist.
-
Hallo
Der Fehler war das
cout<<a*=2;keine gültige C++ Anweisung ist

bis bald
akari
-
Hi,
ne funktioniert leider nicht richtig.
bei der Abfrage habe ich mal 2 eingegeben. Demnach ist es ja 2^2. ausgabe ist 48. Also 4 und 8... falsch
was nun?
-
DocShoe schrieb:
Poste den Quelltext, der den Fehler produziert.
Beschreibe den Fehler, der auftritt. Ist es ein Compilerfehler oder produziert dein Programm nicht die erwarteten Ergbnisse?Ohne diese Informationen kann man nur raten, was du tust und was der "Fehler" ist.
stimmt. mache ich sofort

-
Hallo
Ich habe keine Ahnung was für einen Quellcode du benutzt, aber meiner lifert ein korrektes Ergebnis :
2 2^1 = 2 2^2 = 4bis bald
akari
-
#include<iostream> using namespace std; void main() { int a=2,x; cout<<"Die Basis ist 2.\n"; cout<<"geben Sie den exponenten ein:"; cin>>x; for (int i=0;i<x;i++) { a=a*2; cout<<a; } }das ist mein Quellcode

Also nochmal zur Ausgabe: 2^x soll gerechnet werden meine Vorgabe ist 2 und x soll eingegeben werden. Die Ausgabe soll bei 2^3 z.B. 248 sein bzw.
2
4
8aber so ein kleines Problem so einen riesen Aufwand
sitze schon seit 2 Stunden daran 
-
Hö?
int twoPower(int x) { return 1 << x; }läuft.
-
Eisflamme schrieb:
Hö?
int twoPower(int x) { return 1 << x; }läuft.
ja und was ist twoPower?....
-
Mathematisch beschrieben ist das dann f(x) = 2^x
Aber du schreibst jetzt oben auch, dass 2 x 3 = 248 sein soll, was ich dann wiederum nich verstehe.
Die Ausgabe soll bei 2^3 z.B. 248 sein
Wie ist jetzt deine mathematische Definition?
-
#include<iostream> using namespace std; void main() { int a=2,x; cout<<"Die Basis ist 2.\n"; cout<<"geben Sie den exponenten ein:"; cin>>x; for (int i=0;i<x;i++) { a=a*2; cout<<a; } }Dann geh es halt durch. Du weißt ja wie Potenzieren läuft.
2^0 = 1
2^1 = 2
2^2 = 4.
Was macht deine Schleife? Sie multipliziert den aktuellen Wert con a mit 2. Ist ja logisch. Doch macht sie es so we du denkst?
1. Kontrollcheck: x=0 -> x<2 -> a=2 -> a2 = 4
2. Kontrollcheck: x=1 -> x<2 -> a=4 -> a2 = 8
3. Kontrollcheck: x=2 -> x=2 -> Abbruch.
Und das heißt jetzt... (lies mal paar posts weiter oben...
Und jetzt bin ich der böse, weil ich deine Hausaufgabe gemacht hab...Ciao
Nullnix
-
Ich glaube, er möchte alle Potenzen für 2x für x = [0..n] ausgeben. Die 248 aus dem Posting oben sind dann wohl eher 2,4,8...
Zwei Stunden.. ZWEI STUNDEN!?
@NullNix
Ich war auch schon kurz davor. Zumal ja wirklich alle Informationen für den 3-Zeiler vorhanden sind, wenn man sich nur mal die Antworten durchliest.Allen Ernestes zwei Stunden?!
-
Eisflamme schrieb:
Mathematisch beschrieben ist das dann f(x) = 2^x
Aber du schreibst jetzt oben auch, dass 2 x 3 = 248 sein soll, was ich dann wiederum nich verstehe.
Die Ausgabe soll bei 2^3 z.B. 248 sein
Wie ist jetzt deine mathematische Definition?
248=2 4 8 =
2
4
8
falsch ausgedrückt habe die Zahlen hintereinander geschmissen.
-
DocShoe schrieb:
Ich glaube, er möchte alle Potenzen für 2x für x = [0..n] ausgeben. Die 248 aus dem Posting oben sind dann wohl eher 2,4,8...
Zwei Stunden.. ZWEI STUNDEN!?
@NullNix
Ich war auch schon kurz davor. Zumal ja wirklich alle Informationen für den 3-Zeiler vorhanden sind, wenn man sich nur mal die Antworten durchliest.Allen Ernestes zwei Stunden?!
Jop 2 Stunden
ohne Plan und ... funktioniert es nunmal nicht.
-
Nullnix schrieb:
#include<iostream> using namespace std; void main() { int a=2,x; cout<<"Die Basis ist 2.\n"; cout<<"geben Sie den exponenten ein:"; cin>>x; for (int i=0;i<x;i++) { a=a*2; cout<<a; } }Dann geh es halt durch. Du weißt ja wie Potenzieren läuft.
2^0 = 1
2^1 = 2
2^2 = 4.
Was macht deine Schleife? Sie multipliziert den aktuellen Wert con a mit 2. Ist ja logisch. Doch macht sie es so we du denkst?
1. Kontrollcheck: x=0 -> x<2 -> a=2 -> a2 = 4
2. Kontrollcheck: x=1 -> x<2 -> a=4 -> a2 = 8
3. Kontrollcheck: x=2 -> x=2 -> Abbruch.
Und das heißt jetzt... (lies mal paar posts weiter oben...
Und jetzt bin ich der böse, weil ich deine Hausaufgabe gemacht hab...Ciao
Nullnixne bist nicht der böse bist n lieber
gemacht haste sie ja nicht 
-
Meine Lösung ist doch viel schöner. Hab nur die Streams weggelassen, das kriegt man doch wohl hin?