Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

C# Programmierung

feeelix_
Anfänger (offline)

Dabei seit 05.2011
24 Beiträge
Geschrieben am: 19.03.2014 um 21:57 Uhr

Guten Abend,

mit diesem Quellcode kann man das "1 mal 1" bis "10 mal 10" ausgeben:

for (int i = 1; i <= 10; i++)
{
for (int j = 1; j <= 10; j++)
{
Console.WriteLine("{0}*{1} = {2}", i, j, i * j);
}
}

Wenn man jetzt aber i <= 10 & j <= 10 auf 20 erhört, so gibt die Console ja theoretisch alles von 1 mal 1 bis 20 mal 20 aus.
Tut es aber nicht. Wann und wo fängt die Begrenzung an, oder was ist der Fehler dabei?

Danke im Voraus.
scw - 41
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 19.03.2014 um 22:16 Uhr

In die "Begrenzung" von einem int wirst du nicht rein laufen. Wenn ich mich richtig erinnere, ist ein int 32 Bit lang und Vorzeichenbehaftet.

Eventuell wäre es hilfreich zu wissen, was denn deine Console ausgibt.
feeelix_
Anfänger (offline)

Dabei seit 05.2011
24 Beiträge
Geschrieben am: 19.03.2014 um 22:22 Uhr
Zuletzt editiert am: 19.03.2014 um 22:30 Uhr

Ja der Datentyp ist auf jeden Fall groß genug.
Die Begrenzung war eher auf die Zeilenanzahl der Console selber bezogen.

Sie hat wie immer alles durchgerechnet, aber wenn man sich das ganze Ergebnis angeschaut hat, was ausgespuckt wurde, dann hat sie erst bei 6*2 angefangen, bzw. es ist der erste Wert, der anscheinend zuerst gerechnet wurde, was aber völliger Blödsinn ist, da mit (F11) der identische Ablauf wie i und j <= 10.

//
Als ich dann i und j auf 9999 gesetzt hab, dann ist es schön durchgelaufen, hat aber immer nur knapp 300/400 Zeilen Rechnungen angezeigt, also nie alle Rechenwege auf einmal.
der_mari - 33
Halbprofi (offline)

Dabei seit 02.2014
154 Beiträge

Geschrieben am: 19.03.2014 um 23:10 Uhr

Der beste weg um fehler oder merkwürdige Ergebnisse erklären zu können -> Debugger

oof

cyberfork - 37
Fortgeschrittener (offline)

Dabei seit 05.2012
42 Beiträge
Geschrieben am: 20.03.2014 um 14:54 Uhr
Zuletzt editiert am: 20.03.2014 um 15:10 Uhr

Das liegt wie du vermutet hast an der Zeichenanzahl.
Wenn du das Programm ausführst und die Ausgabe in eine Datei umleitest
werden alle Ergebnise ab 1*1 bis 20*20 angezeigt.

Edit:
Wenn in der Eingabeaufforderung die Eigenschaften im Reiter Layout öffnest kannst du in der Fensterpuffergröße die Höhe anpassen.
Setzt du hier beispielsweise einen Wert 500 ein. Kannst du die ganze Ausgabe deines Programms betrachten.

[zustimmen1 Person stimmt diesem Beitrag zu:
feeelix_, ... mehr anzeigen

feeelix_
Anfänger (offline)

Dabei seit 05.2011
24 Beiträge
Geschrieben am: 25.03.2014 um 22:26 Uhr

Zitat von cyberfork:

Das liegt wie du vermutet hast an der Zeichenanzahl.
Wenn du das Programm ausführst und die Ausgabe in eine Datei umleitest
werden alle Ergebnise ab 1*1 bis 20*20 angezeigt.

Edit:
Wenn in der Eingabeaufforderung die Eigenschaften im Reiter Layout öffnest kannst du in der Fensterpuffergröße die Höhe anpassen.
Setzt du hier beispielsweise einen Wert 500 ein. Kannst du die ganze Ausgabe deines Programms betrachten.


Vielen Dank! Genau das ist der Fehler.
  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2025 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -