Zitat Zitat
Original geschrieben von July
Hm, irgendwie ist mir das alles zu kompliziert
...
Das mit Pascal versteh ich schonmal gar nicht, davon hab ich nämlich keinen blassen Schimmer.
...
Mir wärs im Moment echt am liebsten, wenn mir das einer umschreiben würde, ich bin einfach nur noch genervt von dem Kram *g*
Also ganz ehrlich... ist doch kein Wunder, dass wir bei PISA so schlecht abschneiden, wenn ich das hier lese.

@Firzen & @Nudelsalat:
Jemanden die Lösung in den Schoss coden, ist kaum das, was ich unter wirklicher Hilfe verstehe. Wie bei anderen Sachaufgaben geht es darum, es zu verstehen... und dann auf andere ähnlich gelagerte Aufgaben anwenden zu können. btw, @nudel, die Sprache nennt sich Pascal, steht im selben Post auch drin - gut für den, der die Nachrichten anderer auch wirklich liest!

@Freezy:
Wenn das die Lösung sein sollte, die der Prof haben will, dann gute Nacht. Vielleicht sollte man gleich hinschreiben:
Code:
System.out.println("1 abcdefg");
System.out.println("12 abcdef");
...
WENN July was von Schachtelung schreibt, dann will sie doch keine vorgefertigten Arrays verwenden, oder? Aber wir haben ja auch nicht mal die konkrete Aufgabe vorliegen.

@July:
Entweder du willst Informatik studieren und nicht nur auswendig lernen, sondern verstehen... oder du lässt es. Ich werde kaum jemandem behilflich sein, der sich - wie so viele - irgendwie durchmogeln will, um dann auf irgendwelchen Managerposten irgendeinen Scheiss zu machen - ohne Fachwissen dahinter.

Sorry für die harten Worte, aber das hier sieht liest sich wie Kindergarten und nicht wie Schüler geschweige denn Student.

Es ist natürlich nicht einfach... aber der Wille muss schon da sein. Ich bin gern bereit, JEDE einzelne Zeile so lange durchzukauen, bis du sie verstanden hast! VERSTEHEN - das ist das Zauberwort, um die Dinge dann auch woanders anwenden zu können. Hinsetzen und Algorithmen pauken bringt wenig. Natürlich besitzt nicht jeder Lehrer/Professor das nötige Geschick, um genaue dieses Verständnis zu vermitteln... aber man muss auch selber drum kämpfen. Ich meine, July, wenn dir Informatik so wenig am Herzen liegt, dann solltest du es lassen... und nicht wie ein Modeerscheinung a lá Piercing, Branding und Tattoo's behandeln.

Zur zweiten Aufgabe mal eine kleine Geschichte... vor vielen Jahren gab es eine kleine Firma namens BORLAND, die vollbrachte wahre Wunder und den schnellsten Compiler der Welt (bis heute!!!) heraus: Turbo Pascal 7.0! Und nicht nur das... den vier Disketten lagen auch wunderschöne, kurze Beispielprogramme mit bei... zB. das berühmte qsort.pas. Hier mal der Inhalt:
Code:
{************************************************}
{                                                }
{ QuickSort Demo                                 }
{ Copyright (c) 1985,90 by Borland International }
{                                                }
{************************************************}

program QSort;
{$R-,S-}
uses Crt;

{ This program demonstrates the quicksort algorithm, which      }
{ provides an extremely efficient method of sorting arrays in   }
{ memory. The program generates a list of 1000 random numbers   }
{ between 0 and 29999, and then sorts them using the QUICKSORT  }
{ procedure. Finally, the sorted list is output on the screen.  }
{ Note that stack and range checks are turned off (through the  }
{ compiler directive above) to optimize execution speed.        }

const
  Max = 1000;

type
  List = array[1..Max] of Integer;

var
  Data: List;
  I: Integer;

{ QUICKSORT sorts elements in the array A with indices between  }
{ LO and HI (both inclusive). Note that the QUICKSORT proce-    }
{ dure provides only an "interface" to the program. The actual  }
{ processing takes place in the SORT procedure, which executes  }
{ itself recursively.                                           }

procedure QuickSort(var A: List; Lo, Hi: Integer);

procedure Sort(l, r: Integer);
var
  i, j, x, y: integer;
begin
  i := l; j := r; x := a[(l+r) DIV 2];
  repeat
    while a[i] < x do i := i + 1;
    while x < a[j] do j := j - 1;
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      i := i + 1; j := j - 1;
    end;
  until i > j;
  if l < j then Sort(l, j);
  if i < r then Sort(i, r);
end;

begin {QuickSort};
  Sort(Lo,Hi);
end;

begin {QSort}
  Write('Now generating 1000 random numbers...');
  Randomize;
  for i := 1 to Max do Data[i] := Random(30000);
  Writeln;
  Write('Now sorting random numbers...');
  QuickSort(Data, 1, Max);
  Writeln;
  for i := 1 to 1000 do Write(Data[i]:8);
end.
Es generiert 1000 zufällige Zahlen, füllt damit ein Array, und sortiert sie mit einem Quicksort. Voilá.

Und noch mal mein Angebot: Wenn du Fragen hast dazu... frag' mir ein Loch in den Bauch... aber bitte mich nie wieder, irgendwelche fertigen Lösungen abzuliefern.

br, the.