Autor Beitrag
Phrase.Share
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 04.02.11 18:02 
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:


ausblenden 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 user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 04.02.11 18:13 
:welcome:

user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
Nunja weil mir das Problem recht peinlich ist hoffe ich doch auf diskretion :)

Keine Bange die bleibt in einem öffentlichen Internetforum definitiv gewahrt :mrgreen:

user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
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? :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Phrase.Share Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 04.02.11 18:22 
ausblenden 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-Schleife für die Sterrne im Baumstamm     */
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 user profile iconChristian S.: C#-Tags hinzugefügt
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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.

user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19340
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.
user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden 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:
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19340
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.02.11 22:08 
user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
aber auch hier das gleiche
Aha?
user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
Verwendung der nicht zugewiesenen lokalen Variablen iTMPStern
user profile iconPhrase.Share hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4807
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 05.02.11 15:05 
Kann es sein, daß du eine verschachtelte Schleife suchst bzw. benötigst, d.h.
ausblenden 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.
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 05.02.11 18:56 
Möchtest du den quellcode als pm? also wie das mit den verschachtelten schleifen ist mir bewusst...