Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 22:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# Potenzrechnung mit Schleifen.

Discussion on C# Potenzrechnung mit Schleifen. within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #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?
#Saiirex is offline  
Old 07/18/2014, 15:54   #2

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,811
Received Thanks: 2,417
kannst noch aus

Code:
 ergebnis = ergebnis * zahl1;
Code:
 ergebins *= zahl1;
machen.
Syc is offline  
Old 07/18/2014, 20:21   #3



 
Shawak's Avatar
 
elite*gold: 0
The Black Market: 259/0/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);
}
Shawak is offline  
Old 07/19/2014, 12:58   #4

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
Math.Pow(2,5);
x]vIrus[x is offline  
Old 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
supercracker13 is offline  
Old 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++
dowhile is offline  
Old 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?
GameZzWorld is offline  
Old 07/19/2014, 21:52   #8
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Quote:
Originally Posted by GameZzWorld View Post
Was passiert wenn du beispielsweise 5^3,5 rechnest?
Converter.ToInt32() wird die Nachkommastelle (vermutlich) abschneiden und das Programm würde 5^3 berechnen.
dowhile is offline  
Old 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 View Post
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:
#Saiirex is offline  
Old 07/19/2014, 23:34   #10
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097

ist dann angebracht
tolio is offline  
Old 07/19/2014, 23:41   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by xKoRe' View Post
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
YatoDev is offline  
Old 07/20/2014, 00:41   #12
 
FreewayC's Avatar
 
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
FreewayC is offline  
Old 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.
#Saiirex is offline  
Old 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' View Post
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.
Black Tiger ツ is offline  
Old 07/21/2014, 20:05   #15
 
FreewayC's Avatar
 
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ß
FreewayC is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.