AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lassen?

Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lassen?

Ein Thema von Mexbuild · begonnen am 29. Mai 2007 · letzter Beitrag vom 3. Jun 2007
Antwort Antwort
Seite 1 von 3  1 23   
Mexbuild

Registriert seit: 6. Mai 2007
Ort: Düsseldorf
24 Beiträge
 
#1

Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lassen?

  Alt 29. Mai 2007, 16:10
Auf anweisung eines Moderators mache ich jetzt einen Thread für eine andere Frage auf, als in dem Thread mit Namen: Einige Anfängerfragen

Also Problem ist folgendes:
Wir sollen ein Programm erstellen, wo man drei Eingabefenster hat (+anderes) in die man drei beliebige Zahlen eingibt. Wenn man der Bitbtn betätigt wird soll das Programm die 3 Zahlen der Reihe nach ordnen, und dann in einem Label so anzeigen:

Die Reihenfolge lautet: 5, 432, 43242 (Oder was auch immer)

Dazu kommt noch ein Button der das Programm zurücksetzt. (Das kann ich aber schon )Das Programm funktioniert auch, aber wir sollen jetzt ein schritt weiter gehen.
Das gleiche mit 4 Zahlen. Also vier Eingabefelder und 2 Variablen mehr. (zahl4 und mittelgroesste) Näheres könnt ihr dem Programmtext entnehmen! Wichtig ist, dass ich das o.g mit 4 Zahlen machen kann, möglichst ohne komplizierte und Profisachen anwenden zu müssen.


Delphi-Quellcode:
unit reihe;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1; zahl1, zahl2, zahl3, gross, mittel, klein: integer; /// Hier müssten meines Wissens noch "zahl4" und "mittelgroesste" eingetragen werden

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
zahl1:=strtoint(edit1.Text);
zahl2:=strtoint(edit2.Text);
zahl3:=strtoint(edit3.Text);
if
zahl1>zahl2
then begin
gross:=zahl1
end
else begin
gross:=zahl2
end;
if
zahl3>gross
then begin
gross:=zahl3
end;
if
zahl1<zahl2
then begin
klein:=zahl1
end
else begin
klein:=zahl2
end;
if
zahl3<klein
then begin
klein:=zahl3
end;
if (zahl1 > klein) and (zahl1<gross) then begin mittel:=zahl1
end;
if (zahl2 > klein) and (zahl2<gross) then begin mittel:=zahl2
end;
if (zahl3 > klein) and (zahl3<gross) then begin mittel:=zahl3
end;
label1.caption:='Die Reihenfolge lautet:'+inttostr(klein)+', '+inttostr(mittel)+', '+inttostr(gross) /// Hier müsste noch "mittelgroesste" nachgetragen werden!
end;

end.
Miniaturansicht angehängter Grafiken
programm_131.jpg  
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
4.821 Beiträge
 
Delphi XE Starter
 
#2

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 16:15
Schau Dir einmal diesen Beitrag #5 an.

Du müßtest Deine Zahlen nur noch in ein Array packen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
973 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 16:16
Also einen So Komplizierten SortierAllgo hab ich noch nie Gesehn.

Ich Empfehle dir Ein Sortieren Sample.

und das Speichern der Zahlen in Arrays
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 3,9 mb ) aktuell ver 0.64
  Mit Zitat antworten Zitat
Mexbuild

Registriert seit: 6. Mai 2007
Ort: Düsseldorf
24 Beiträge
 
#4

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 16:22
@Klaus01
Habe ich schon bevor ich den Betrag geschreiben habe. Aber es sollte ungefähr so sein, wie mein Text, nur halt erweitert. Ich kenne nur vielleicht 2-4% von Delphibefehlen. Gibt es villeicht noch ne andere möglichkeit. Weil als ich letztes nur den größsten Wert ermittelt habe mittels "max" und "math" (max(max zahl1, zahl2),zahl3). Da hatte meine lehrerin zwar etwas längeres geschrieben, jedoch nur mit einfachsten Mitteln. ( < und > und = )

@Corpsman
Oh mein Gott. Was ist das denn? Ich lerne mit Delphi erst seit 2 Monaten. Ich kenne nur die Sachen, die mein Lehrer mir sagt. Von diesen Arrys etc. habe ich keinen Blassen Schimmer.
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
973 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 16:32
Was dein Lehrer Wollte ist das ihr feststellt das es ein Heuden Aufwand ist das so zu machen.

Wenn du dich in die Materie des Arrays einliest dann kannst das halt viel Leichter machen.

Das Sample das ich gepostet hab ist halt die Intelligente Lösung für einen Anfänger ist die vielleicht etwas heftig.

Such mal unter Bubblesort bei wiki oder so da kannst dann die Einfacheren sachen machen.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 3,9 mb ) aktuell ver 0.64
  Mit Zitat antworten Zitat
Mexbuild

Registriert seit: 6. Mai 2007
Ort: Düsseldorf
24 Beiträge
 
#6

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 16:36
Wie sähe das den in meinem Programm aus. (Wie gesagt, tut mir echt Leid, dass ich hier euch nerve aber ich habe echt kaum einen Schwimmer wie es geht.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
4.821 Beiträge
 
Delphi XE Starter
 
#7

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 18:12
Delphi-Quellcode:
const
  maxAnzahl = 4;

type
  ZahlenArray = Array [0..maxAnzahl-1] of Integer;
  
var
  meineZahlen: ZahlenArray;


meineZahlen[0]:=StrToInt(Edit1.Text);
meineZahlen[1]:=StrToInt(Edit2.Text);
meineZahlen[2]:=StrToInt(Edit3.Text);
meineZahlen[3]:=StrToInt(Edit4.Text);

procedure sortieren (var zahlen:ZahleArray);
var
  i,j,hilf:integer;
begin
  for i:= length(zahlen)-1 downto 0 do
    for j:= 1 to i do
      begin
        if zahlen[j] < zahlen[j-1] then
          begin
            hilf:= zahlen[j-1];
            zahlen[j-1]:= zahlen[j];
            zahlen[j]:= hilf;
         end;
      end;
end;

//Aufruf:

  sortieren(meinZahlen);

  gross:=meienZahlen[3];
  mittel2:=meineZahlen[2];
  mittel1:=meineZahlen[1];
  klein := meineZahlen[0];
Klaus
  Mit Zitat antworten Zitat
Mexbuild

Registriert seit: 6. Mai 2007
Ort: Düsseldorf
24 Beiträge
 
#8

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 18:44
Danke, aber was heißen die Buchstaben in diesem Bereich:
Delphi-Quellcode:
var
  i,j,hilf:integer;
begin
  for i:= length(zahlen)-1 downto 0 do
    for j:= 1 to i do
      begin
        if zahlen[j] < zahlen[j-1] then
          begin
            hilf:= zahlen[j-1];
            zahlen[j-1]:= zahlen[j];
            zahlen[j]:= hilf;
         end;
      end;
end;
Also dieses j,hilf,j-1 und zahlen [j] ?
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
4.821 Beiträge
 
Delphi XE Starter
 
#9

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 29. Mai 2007, 19:20
Zitat von Mexbuild:
Danke, aber was heißen die Buchstaben in diesem Bereich:
Delphi-Quellcode:
var
  i,j,hilf:integer;
begin
  for i:= length(zahlen)-1 downto 0 do
    for j:= 1 to i do
      begin
        if zahlen[j] < zahlen[j-1] then
          begin
            hilf:= zahlen[j-1];
            zahlen[j-1]:= zahlen[j];
            zahlen[j]:= hilf;
         end;
      end;
end;
Also dieses j,hilf,j-1 und zahlen [j] ?
i und j sind die laufvariablen, sie geben den Index im Array an.

Also wenn i = 1 ist, ist damit gemeint zahlen[1], die zweite Zahl im ZahlenArray.
Die zweite, weil das Array bei 0 beginnt.

hilf ist die Hilfsvariable, sie übernimmt zeitweise einem Wert wenn zwei Werte getauscht werden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Mexbuild

Registriert seit: 6. Mai 2007
Ort: Düsseldorf
24 Beiträge
 
#10

Re: Zahlenreihenfolge mit 4 Zahlen ordnen und anzeigen lasse

  Alt 30. Mai 2007, 19:46
Wie viele Variablen brauche ich den dafür? Es müssen ja 4 Zahlen sein, die geordnet werden müssen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2014 by Daniel R. Wolf