|
You last visited: Today at 22:26
Advertisement
C# Potenzrechnung mit Schleifen.
Discussion on C# Potenzrechnung mit Schleifen. within the .NET Languages forum part of the Coders Den category.
07/18/2014, 15:19
|
#1
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
C# Potenzrechnung mit Schleifen.
Hey, da ich derzeit C# für meine Ausbildung "vorlernen" möchte, versuche ich mit hilfe einer Schleife Potenzrechnung zu tätigen. Mir ist bewusst das es dafür die "Math" klasse gibt, die möchte ich aber nicht nutzen da ich eben schleifen nutzen möchte. Mein Code sieht derzeit so aus:
Code:
Console.WriteLine("Gib nun bitte die 1. Zahl ein: ");
zahl1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Gib nun bitte die 2. Zahl ein: ");
zahl2 = Convert.ToInt32(Console.ReadLine());
for(int zahl3= 0; zahl3 <= zahl2; zahl3++){
ergebnis = zahl1 *= zahl2;
Console.WriteLine(ergebnis);
}
Die Ausgabe ist jedoch falsch.
Es kommt folgendes dabei raus wenn ich 2^5 rechnen möchte:
E: Habs jetzt, müsste so aussehen
Code:
Console.WriteLine("Gib nun bitte die 1. Zahl ein: ");
zahl1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Gib nun bitte die 2. Zahl ein: ");
zahl2 = Convert.ToInt32(Console.ReadLine());
ergebnis = zahl1;
for(int i= 0; i < zahl2-1; i++){
ergebnis = ergebnis * zahl1;
Console.WriteLine(ergebnis);
}
Es schein mir jedoch unsauber, gibt es eine möglichkeit es sauberer zu machen?
|
|
|
07/18/2014, 15:54
|
#2
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,811
Received Thanks: 2,417
|
kannst noch aus
Code:
ergebnis = ergebnis * zahl1;
machen.
|
|
|
07/18/2014, 20:21
|
#3
|
elite*gold: 0
Join Date: Apr 2010
Posts: 10,291
Received Thanks: 3,611
|
Code:
Console.WriteLine("Gib nun bitte die Zahl ein: ");
var zahl = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Gib nun bitte die Potenz ein: ");
var potenz = Convert.ToInt32(Console.ReadLine());
for(int i= 1; i < potenz; i++){
zahl *= zahl;
Console.WriteLine(zahl);
}
|
|
|
07/19/2014, 12:58
|
#4
|
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
|
Math.Pow(2,5);
|
|
|
07/19/2014, 16:02
|
#5
|
elite*gold: 0
Join Date: Nov 2010
Posts: 700
Received Thanks: 507
|
Zu lernzwecken kannste es so machen aber am besten ist wirklich Math.Pow (); weil es kürzer ist und leichter zu nutzen.
Es gibt viele so sachen zb biginteger. Man kann selbst probieren sowas zu erstellen aber es ist um einiges besser das vorgefertigte zu verwenden.
Ist meinet Meinung nach professioneller geschrieben als mein code
|
|
|
07/19/2014, 17:19
|
#6
|
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
|
Deine Algorithmus ist für potenz = 0 falsch.
Code:
ergebnis = 1
für i = 0 < potenz:
ergebnis *= zahl
i++
|
|
|
07/19/2014, 17:49
|
#7
|
elite*gold: 10
Join Date: May 2011
Posts: 291
Received Thanks: 66
|
Was passiert wenn du beispielsweise 5^3,5 rechnest?
|
|
|
07/19/2014, 21:52
|
#8
|
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
|
Quote:
Originally Posted by GameZzWorld
Was passiert wenn du beispielsweise 5^3,5 rechnest?
|
Converter.ToInt32() wird die Nachkommastelle (vermutlich) abschneiden und das Programm würde 5^3 berechnen.
|
|
|
07/19/2014, 23:18
|
#9
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Quote:
Originally Posted by dowhile
Converter.ToInt32() wird die Nachkommastelle (vermutlich) abschneiden und das Programm würde 5^3 berechnen.
|
rundet es nicht auf und macht aus 3,5 vier? Ist ja blöd
E:
Hab das mal mit folgenden Code ausprobiert:
Code:
Console.WriteLine("Bitte gib eine Zahl ein");
int zahl = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Du hast folgende zahl geschrieben: " + zahl);
Console.ReadLine();
kam folgedens:
|
|
|
07/19/2014, 23:34
|
#10
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
ist dann angebracht
|
|
|
07/19/2014, 23:41
|
#11
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by xKoRe'
rundet es nicht auf und macht aus 3,5 vier? Ist ja blöd
|
es gibt eine round methode.
du könntest auch einfach einen anderen datentyp verwenden oder rum konvertieren
|
|
|
07/20/2014, 00:41
|
#12
|
elite*gold: 0
Join Date: Sep 2011
Posts: 60
Received Thanks: 4
|
Hi xKoRe',
wie schon gesagt, einfach einen anderen Datentyp verwenden. Bei mathematischen Sachen eigentlich immer double verwenden.
Beim einlesen der Zahlen dann Convert.ToDouble verwenden
grüße
|
|
|
07/20/2014, 17:17
|
#13
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Jop, ich kenne Double etc, mir war es bei diesem Taschenrechner eigtl. nur wichtig, wie es funktioniert, also das mit Schleifen etc. Die Funktion an sich war mir egal.
Mal ne Frage: Kennt ihr vlt noch ein paar dinge die ich programmieren kann um C# mehr zu lernen? Sollte schleifen, abfragen(if else, switch case) und andere Grundlagen.
|
|
|
07/20/2014, 18:56
|
#14
|
elite*gold: 1
Join Date: Aug 2013
Posts: 1,898
Received Thanks: 1,346
|
Quote:
Originally Posted by xKoRe'
Jop, ich kenne Double etc, mir war es bei diesem Taschenrechner eigtl. nur wichtig, wie es funktioniert, also das mit Schleifen etc. Die Funktion an sich war mir egal.
Mal ne Frage: Kennt ihr vlt noch ein paar dinge die ich programmieren kann um C# mehr zu lernen? Sollte schleifen, abfragen(if else, switch case) und andere Grundlagen.
|
Versuch die Aufgaben mit C# zu lösen:
Ansonsten irgendein Projekt starten und drauf los proggen. Wirst schon mit genügend Problemen konfrontiert.
|
|
|
07/21/2014, 20:05
|
#15
|
elite*gold: 0
Join Date: Sep 2011
Posts: 60
Received Thanks: 4
|
Hi,
du kannst ja mal versuchen Tic Tac Toe zu programmieren. Da sind deine if´s bestimmt gut aufgehoben :P
gruß
|
|
|
|
Similar Threads
|
While Schleifen Problem
01/20/2013 - Web Development - 5 Replies
Hey E*Pvpers,
ich habe ein Problem mit einer While Schleife.
Ich lasse die Kontakt Anfragen von meiner Website in eine Datenbank eintragen und schließlich im Admin Panel ausgeben.
Es geht jetzt speziell um die Sortierung der Personen, die eine Anfrage geschickt haben. Ich möchte, dass falls eine Person mir zweimal schreibt, sie wieder in die selbe Sparte einsortiert wird.
Hier ein Bild (Mit dem Fehler)
http://i.epvpimg.com/lIVud.png
Wie ihr seht wird die Person allerdings zweimal...
|
While Schleifen parallel?
02/24/2012 - AutoIt - 9 Replies
nabend leute!
ich beschäftige mich seit wenigen Stunden mit AutoIt hauptsächlich um mir erstmal selbst nen Bot zu basteln für Swtor.
nun meine Frage zu diesem Script hier ist, wie schaff ich es das er nach der ersten While Schleife die 2te macht? bzw. die letzte sollte immer (falls "true") vor den 2 starten.
hier das script:
WinActive ("Star Wars: The Old Republic")
|
Messer schleifen
01/21/2012 - Off Topic - 2 Replies
Hab ein Taschenmesser mit einer Schwarzen klinge...
die Klinge ist langsam Stumpf.
Die Klinge ist etwa so :
http://www.gagravarr.de/images/messer_vtech_titan x_1.jpg
Ich will sie schleifen, aber als ich letztens eine Schwarze Klinge geschliffen hab war sie dann ca 1 cm nach oben Silber und das will ich nicht.
Hat jemand eine Idee wie man die Klinge schleift?
Mit der Hand ? Schleifstein halt?
|
While Schleifen Problem
12/31/2010 - AutoIt - 24 Replies
Hi Com.,
ich habe einen Fritzbox ip changer geschrieben.
Alles klappt wunderbar, nur macht mir die while schleife zu schaffen.
Hier mein Script.
#include <INet.au3>
|
Probleme mit den Schleifen x.x
07/23/2010 - AutoIt - 18 Replies
Ja, hallo. :D
Mein Problem ist das ich gerne einen Bot bauen würde der einnen Tastendruck ausführt wenn sich ein bestimmer Pixel auf dem Bildschirm verändert.
Nur ist das Problem das AutoIt zu lahm ist da der Pixel sich schnell beweget und somit auch seine Farbe ändert und der Bot dann es nichtmehr schafft zuzuschlagen. :P
Was ich nun versucht hab ist das man vll. sozusagen eine Tolleranz einbaut wie z.b. bei dem Pixelsearch Befehl nur ich hab ka. wie ich das anstellen soll.
Ich...
|
All times are GMT +2. The time now is 22:26.
|
|