Entwickler-Ecke
Basistechnologien - Ergebnis in einer Schleife als Variable speichern...
Phrase.Share - Fr 04.02.11 18:02
Titel: Ergebnis in einer Schleife als Variable speichern...
Hallöle zusammen :)
naja ich hab das Problem das ich eine Zählervariable namens "i" als Variable speichern möchte. Ich dachte mir das als erstes so:
C#-Quelltext
1: 2: 3: 4: 5:
| for (i = 0; i <= (Var1 - Var2); i++) { Console.Write(i); TMP = i; } |
Nunja weil mir das Problem recht peinlich ist hoffe ich doch auf diskretion :)
Also das Problem ist das ich diese Variable TMP (int) in einer anderen schleife als Laufzeitbedingung verwenden muss....
Ich hoffe ihr könnt mir schnell helfen =)
Moderiert von
Christian S.: C#-Tags hinzugefügt
Christian S. - Fr 04.02.11 18:13
:welcome:
Phrase.Share hat folgendes geschrieben : |
| Nunja weil mir das Problem recht peinlich ist hoffe ich doch auf diskretion :) |
Keine Bange die bleibt in einem öffentlichen Internetforum definitiv gewahrt :mrgreen:
Phrase.Share hat folgendes geschrieben : |
Also das Problem ist das ich diese Variable TMP (int) in einer anderen schleife als Laufzeitbedingung verwenden muss....
Ich hoffe ihr könnt mir schnell helfen =) |
Ich hab ehrlich gesagt Dein Problem nicht wirklich verstanden :oops: Könntest Du versuchen, es genauer zu beschreiben? :-)
Phrase.Share - Fr 04.02.11 18:22
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| for (iSternBaum = 0; iSternBaum <= (Eingabe_Der_Zeilen - (2 * iLeerBaum)); iSternBaum++) { Console.Write(src_Stern); iTMPStern = iSternBaum; }
for (iSternStamm = 0; iSternStamm <= iTMPStern / 4; iSternStamm++) { Console.Write(src_Stern); } |
so dies ist ein Teil des Codes. Ich muss vllt noch hinzufügen das diese beiden schleifen jeweils in noch in jeweils einer schleife vorhanden ist. Das ist so ne Schulaufgabe und da ich meinen Lehrer nicht für inkompetent halte ebenso wie meine Mitschüler die wissen, wie man das Internet oder besser gesagt Google benutzt, kann ich leider diesen Quellcode nicht allzu öffentlich machen.
Edit: Und danke Christian dass du mir hilfst meine Posts optisch attraktiver zu gestalten :-*
Moderiert von
Christian S.: C#-Tags hinzugefügt
Yogu - Fr 04.02.11 18:37
Hallo,
du hast immer noch nicht geschrieben, was denn schief läuft. Was erwartest du, und was passiert stattdessen? Der Code führt ja den Inhalt der ersten Schleife ein paar mal aus, speichert dann den letzten Wert der Variable
iSternBaum und kommt dann in eine neue Schleife, die ein viertel mal so oft wiederholt wird wie die erste.
Phrase.Share hat folgendes geschrieben : |
| Edit: Und danke Christian dass du mir hilfst meine Posts optisch attraktiver zu gestalten :-* |
Das gibt's übrigens auch zum selber machen ;) Setze einfach ein
[cs] vor deinen Code und ein
[/cs] danach.
Grüße,
Yogu
Phrase.Share - Fr 04.02.11 19:40
ja richtig entschuldigt wenn ich mich in Programmieren nicht recht ausdrücken kann nur markiert er mir die Variable als Fehler mit der Meldung "Verwendung der nicht zugewiesenen lokalen Variablen iTMPStern
Edit: PM für den gesamten Code
jaenicke - Fr 04.02.11 20:37
Du benutzt die Variable irgendwo ohne ihr einen Wert zugewiesen zu haben. Das ist als ob du dir ein Buch zum Lesen kaufst, aber nicht darauf achtest, ob es ein leeres Notizbuch, ein Malbuch oder ein Roman ist. Naja, und dann hast du eben auch keinen definierten Text unbedingt drin.
Bevor du also eine Variable ausliest, musst du auch etwas hineinschreiben. Sonst steht da zufälliges Zeug drin, und deshalb verhindert C# den Zugriff.
Phrase.Share hat folgendes geschrieben : |
C#-Quelltext 1: 2: 3: 4: 5:
| for (iSternBaum = 0; iSternBaum <= (Eingabe_Der_Zeilen - (2 * iLeerBaum)); iSternBaum++) { Console.Write(src_Stern); iTMPStern = iSternBaum; } | |
Warum nicht einfach:
C#-Quelltext
1:
| iTMPStern = (Eingabe_Der_Zeilen - (2 * iLeerBaum)); |
Wenn die Variable ohnehin einen festen Wert haben soll, musst du den auch nicht bei jedem Schleifendurchlauf neu zuweisen.
Phrase.Share - Fr 04.02.11 22:01
Also das ist die selbe Methode wie ich sie machen wollte, naja ich seh dort keinen wirklichen unterschied aber auch hier das gleiche möchtest du den Quellcode haben?
wie gesagt wenn ich diesen öffentlich mache, mach ich den unterrichtsplan meines lehrers kaputt, der sich im übrigen hier auch aufhält :P
Mit dem gleichen mein ich "Verwendung der nicht zugewiesenen lokalen Variablen iLeerBaum"
jaenicke - Fr 04.02.11 22:08
Phrase.Share hat folgendes geschrieben : |
| naja ich seh dort keinen wirklichen unterschied |
Der Unterschied ist wie gesagt, dass es nicht in der Schleife immer wieder aufgerufen wird, sondern nur einmal außerhalb der Schleife.
Phrase.Share hat folgendes geschrieben : |
| aber auch hier das gleiche |
Aha?
Phrase.Share hat folgendes geschrieben : |
| Verwendung der nicht zugewiesenen lokalen Variablen iTMPStern |
Phrase.Share hat folgendes geschrieben : |
| Verwendung der nicht zugewiesenen lokalen Variablen iLeerBaum |
Wie dem auch sei, ich habe ja schon erklärt was der Fehler heißt: Du hast iLeerBaum bevor du den Wert darin verwendest noch gar keinen Wert zugewiesen.
Das kannst du gern mit einem unterschriebenen Scheck machen, den du mir schickst. Einfach keinen Wert zuweisen und den Scheck verwenden indem du ihn mir schickst. ;-)
Mehr Beispiele fallen mir grad nicht ein zum Vergleich für eine nicht initialisierte Variable. :lol:
Phrase.Share - Sa 05.02.11 14:56
Aber die Schleife inkrementiert doch bevor ich die andere schleife ausführe, das heißt doch das ich den letzten Wert des inkrementierten Zählers speichern muss um ihn wieder zu verwenden
Th69 - Sa 05.02.11 15:05
Kann es sein, daß du eine verschachtelte Schleife suchst bzw. benötigst, d.h.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| for (int i = 0; i < 10; i++) { int tmp = i;
for (int j = 0; j < tmp; j++) { } } |
???
Dein Beispiel scheint ja die Darstellung eines Baumes zu sein, d.h.
Quelltext
1: 2: 3: 4:
| * *** ***** ******* |
Und eine zwei-dimensionale Darstellung benötigt eben 2 ineinander verschachtelte Schleifen (für die X und Y-Dimension).
Phrase.Share - Sa 05.02.11 18:56
Möchtest du den quellcode als pm? also wie das mit den verschachtelten schleifen ist mir bewusst...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!