Hallo erstmal,

also folgendes, ich soll einen Programm entwickeln was einen Member der Woche berechnet, es handelt sich hierbei um ein Browsergame und die Punkte am anfang und am Ende der Woche werden Automatisch eingegeben, das Programm soll dann die Differenz aus diesen werten berechnen,
ES gibt allerdings drei Kategorien von Punkten und so müssen die Memeber Natürlich noch sortiert werden und das habe ich mit mehreren Tabellen lösen wollen,
welche dann Sortiert werden und das Aufsteigend, so das der mit dem Meisten zuwachs oben steht, und ich so mit nur die erste zeile aus jeder Spalte ausgeben muss.

So weit war mein plan er bricht allerdings immer ab, wenn es zum sorteiren kommt und nur wenn es mehr als 2 Mitglieder sein sollen.

Es war alles Strukturiert und übersichtlich, aber das kopieren und hier einfügen hat es alles wieder eingerückt, hoffe ihr kommt trotzdem klar damit.


Danke für die Hilfe

MfG

Quelle



program Memberberechnung; ///Löhr 1.0 //longint
//
//

var Memberzahl,punkte1,punkte2,punkte3,zahl1,zahl2,zah l3:integer;
memberliste: array[1..100,1..4] of longint;
Memberliste50k: array[1..100,1..4] of longint;
Memberliste100k: array[1..100,1..4] of longint;
Memberliste300k: array[1..100,1..4] of longint;
tausch: array[1..1,1..4] of integer;


Procedure Zwischenausgabe;

var i,j:integer;

begin

for i:= 1 to Memberzahl do
for j:= 1 to 4 do
Writeln(Memberliste[i,j]);
Writeln(Memberliste50k[i,j]);
Writeln(Memberliste100k[i,j]);
Writeln(Memberliste300k[i,j]);
end;

procedure Eingabe;
var i:integer;
begin
writeln(' Gesamte Memberzahl nennen ');
Readln (Memberzahl);
Writeln(' Das Erste von drei Punkte Kategorien eingeben (z.B. 50.000) ');
readln(punkte1);
Writeln(' Das Zweite von drei Punkte Kategorien eingeben (z.B. 100.000) ');
readln(punkte2);
Writeln(' Das Dritte von drei Punkte Kategorien eingeben (z.B. 300.000) ');
readln(punkte3);
for i:= 1 to Memberzahl do
begin
writeln('Namen des ',i,'. Members angeben');
readln(Memberliste[i,1]);
writeln('Anfangspunkte des ',i,'. Members angeben');
readln(Memberliste[i,2]);
writeln('Endpunkte des ',i,'. Members angeben');
readln(memberliste[i,3]);
Memberliste[i,4]:= Memberliste[i,3]-Memberliste[i,2];


end;
end;




procedure zuordnung;

var i,j:integer;


begin



for i:= 1 to memberzahl do
begin
if (Memberliste[i,3] <= punkte1 )
then
begin
for j:=1 to 4 do
begin
Memberliste50k[i,j]:=Memberliste[i,j];
end;
zahl1:=zahl1+1;
end

else if (memberliste[i,3] <= punkte2) and (memberliste[i,3] >= punkte1)
then
begin
for j:=1 to 4 do
begin
Memberliste100k[i,j]:=Memberliste[i,j];


end;
zahl2:=zahl2+1;
end
else if (memberliste[i,3] <= punkte3) and (memberliste[i,3] >= punkte2)
then
begin
for j:=1 to 4 do
begin
Memberliste300k[i,j]:=Memberliste[i,j];


end;
zahl3:=zahl3+1;
end else;


end;



end;

procedure sortieren1;
var
i,j,n,o:integer;
getauscht:boolean;



begin

repeat
getauscht:=false;
for i:= 1 to zahl1-1 do
begin
if (Memberliste50k[i,4]< Memberliste50k[i+1,4] )
then
begin
for j:= 1 to 4 do
begin
tausch[i,j]:= Memberliste50k[i,j];
Memberliste50k[i,j]:=Memberliste50k[i+1,j];
Memberliste50k[i+1,j]:=tausch[i,j];
getauscht:=true;

end; end else;
end;

for n:= 1 to 4 do
begin
for o:= 1to 4 do
begin
Tausch[n,o]:=0;
end;
end;

until getauscht=false;
end;

procedure sortieren2;
var
i,j:integer;
getauscht:boolean;
begin

repeat
getauscht:=false;
for i:= 1 to zahl2-1 do
begin
if (Memberliste100k[i,4]< Memberliste100k[i+1,4] )
then
begin
for j:=1 to 4 do
begin
tausch[i,j]:= Memberliste100k[i,j];
Memberliste100k[i,j]:=Memberliste100k[i+1,j];
Memberliste100k[i+1,j]:=tausch[i,j];
getauscht:=true;


end; end else;


end;

until getauscht=false;
end;


procedure sortieren3;
var
i,j:integer;
getauscht:boolean;
begin

repeat
getauscht:=false;
for i:= 1 to zahl3-1 do
begin
if (Memberliste300k[i,4]< Memberliste300k[i+1,4] )
then
begin
for j:= 1 to 4 do
tausch[i,j]:= Memberliste300k[i,j];
Memberliste300k[i,j]:=Memberliste300k[i+1,j];
getauscht:=true;
end else;

end;


until getauscht=false;
end;




procedure sortierengesamt;

begin

if (Memberliste50k[1,2] >0) then
begin
sortieren1;
end else
if (Memberliste100k[1,2] >0) then
begin
sortieren2;
end else
if (Memberliste300k[1,2] >0) then
begin
sortieren3;
end else;

end;







procedure Ausgabe;
begin
Writeln(' Der Gewinner aus der Kategorie bis ', punkte1,' Punkte ist: ');
writeln( Memberliste50k[1,1]);
writeln(' Mit einem Punktezuwachs von ', Memberliste50k[1,4]);
Writeln(' Der Gewinner aus der Kategorie bis ', punkte2,' Punkte ist: ');
writeln( Memberliste100k[1,1]);
writeln(' Mit einem Punktezuwachs von ', Memberliste100k[1,4]);
Writeln(' Der Gewinner aus der Kategorie bis ', punkte3,' Punkte ist: ');
writeln( Memberliste300k[1,1]);
writeln(' Mit einem Punktezuwachs von ', Memberliste300k[1,4]);
end;



procedure ini;
var i,j:integer;
begin
Memberzahl :=0;
punkte1:=0;
punkte2:=0;
punkte3:=0;

for i:=1 to 100 do
begin
for j:=1 to 4 do
begin
memberliste[i,j] :=0;
Memberliste50k[i,j] :=0;
Memberliste100k[i,j]:=0;
Memberliste300k[i,j]:=0;
end;
End
end;



begin


ini;
eingabe;
zuordnung;
zwischenausgabe;
readln;
sortierengesamt;
Ausgabe;
readln;
end.

Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!