AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unendlich viele zahlen

Ein Thema von resyiii · begonnen am 11. Mär 2009 · letzter Beitrag vom 26. Mär 2009
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
resyiii

Registriert seit: 11. Mär 2009
Ort: Oranienburg
31 Beiträge
 
#1

unendlich viele zahlen

  Alt 11. Mär 2009, 19:08
also ich hab ein großes problem.
im informatikuntericht haben wir folgenden code:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type zahl=array [1..5] of integer;
var z:zahl; i,j,x: integer;

begin
for i:=1 to 5 do
begin write (i, 'Zahl'); readln (z[i]); end;
for j:=1 to 4 do
begin for i:=j+1 to 5 do
begin if z[j]<z[i] then begin
x:=z[i]; z[i]:=z[j]; z[j]:=x; end;
end;
writeln;
for i:=1 to 5 do write (z[i]);
readln;

  { TODO -oUser -cConsole Main : Hier Code einfügen }
end;
end.
und wir sollen jetzt statt nur fünf zahlen eine variable einsetzen, dass man eine beliebige anzahl von zahlen sortieren kann (37, 105, 1398 zahlen oder mehr)
ich weiß leider nicht, wie das gehen soll.
bin totaler delphineuling.

brauche schnell hilfe!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:11
Statt statischen einen dynamischen Array nehmen:
type zahl=array of integer; Dann kann man die größe zur Laufzeit verändern
SetLenght( Zahl, <Größe>); Achtung Index beginnt dann bei 0 nicht 1.
[Edit: Tippfehler korrigiert]
Markus Kinzler
  Mit Zitat antworten Zitat
resyiii

Registriert seit: 11. Mär 2009
Ort: Oranienburg
31 Beiträge
 
#3

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:14
udn wie würde das im quelltext aussehen? (also komplett?)
habs gerade versucht zu ändern, stell mich aber anscheinend zu dumm an ..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:16
Zeig mal deinen angepassten Source
Markus Kinzler
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:18
In Ergänzung zu meinem Vorredner mkinzler, stehen die restlichen Quellcodeteile schon in dem Text, den du hast.
Mit Readln kannst du die Anzahl auf eine weitere Variable einlesen und erstellst dann das dynamische Array und die Forschleifen musst noch an die neue Anzahl anpassen und dann bist eigentlich schon fertig.
  Mit Zitat antworten Zitat
resyiii

Registriert seit: 11. Mär 2009
Ort: Oranienburg
31 Beiträge
 
#6

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:22
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type zahl=array of integer;
SetLentgh= Zahl, 1000);
var z:zahl; i,j,x: integer;

begin
for i:=1 to 5 do
begin write (i, 'Zahl'); readln (z[i]); end;
for j:=1 to 4 do
begin for i:=j+1 to 5 do
begin if z[j]<z[i] then begin
x:=z[i]; z[i]:=z[j]; z[j]:=x; end;
end;
writeln;
for i:=1 to 5 do write (z[i]);
readln;

  { TODO -oUser -cConsole Main : Hier Code einfügen }
end;
end.
das es bei null beginnt, heißt ja nur, dass bei tausend möglichen zahlen dann 999 angegeben werden, oder?

und wenn man nur 38 eingibt geht das auch?

ach man, ich versteh das nicht


"bist du eigentlich schon fertig"
das sagt ihr so leicht .. bis jetzt kann ich mit delphi gerade mal zwei zahlen addieren ..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:29
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
    zahl=array of integer;
var
    z:zahl; i,j,x: integer;
    anzahl: Integer;
begin
  Anzahl := 0;
  repeat
    write (i, '.Zahl (-1 für Ende)'); readln z;
    if z<>-1 then
    begin
        inc(Anzahl);
        SetLength( zahl, anzahl);
        zahl[anzahl-1] := z;
until z = -1;
for j:=0 to Anzahl -1 do //Index beginnt bei 0 und geht bis Anzahl -1
...
Markus Kinzler
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#8

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:32
mkinzler:
du hast ein "end;" vergessen!

MfG
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:34
Hier ist eine alternative Lösung, die sich mehr an deinem Eingangsbeispiel orientiert. In Ergänzung zu mkinzler solltest du jetzt eigentlich das Prinzip verstehen, wie sowas gemacht wird. Wenn du Fragen hast, können diese sicherlich auch geklärt werden.

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type zahl=array of integer;

var z:zahl; i,j,x,Anzahl: integer;

begin
Writeln('Bitte Anzahl zu vergleichender Zahlen angeben ');
readln(Anzahl);
SetLength(z, Anzahl);
for i:=0 to Anzahl-1 do
begin write (i+1, '. Zahl'); readln (z[i]); end;
for j:=0 to Anzahl-1 do
begin for i:=j+1 to Anzahl-1 do
begin if z[j]<z[i] then begin
x:=z[i]; z[i]:=z[j]; z[j]:=x; end;
end;
writeln;
for i:=0 to Anzahl-1 do write (z[i]);
readln;

  { TODO -oUser -cConsole Main : Hier Code einfügen }
end;
end.
  Mit Zitat antworten Zitat
resyiii

Registriert seit: 11. Mär 2009
Ort: Oranienburg
31 Beiträge
 
#10

Re: unendlich viele zahlen

  Alt 11. Mär 2009, 19:36
sorry aber ich stell mich zu blöd an .. mein delphi ist nur am meckern ..
und die fehler find ich nicht.
mal erwartet er '(' findet aber ',' o bwohl in der angegebenen zeile '(' steht ..

also manche fehler kann ich ja deuten .. so wie fehlende 'end's und sowas.



großes
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz