Autor Beitrag
boxer123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 16:22 
Guten Tag erstmal.
Ich soll ein Programm schreiben, also das Programm soll so ausehen. Wenn man das Programm startet und dann eine 4 stellige Zahl eintippt. Und dann auf start button drückt soll er folgenden Algorhytmus durchführen.

6957 /9675-5679=3996
3996 /9963-6399=3564
3564 /6543-3456=3087
3087 /8730-0378=8352
8352 /8532-2358=6174
6174 /7641-1467=6174
der schrägstrich soll kein division sein

Also wie man sieht tippt man die zahl 6957 ein und er soll am ende sagen bis es nicht mehr geht und dann die letzte zahl ausgeben im edit Fenster


Zuletzt bearbeitet von boxer123 am Di 18.10.11 16:32, insgesamt 1-mal bearbeitet
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 18.10.11 16:27 
Hallo und :welcome: in der Entwickler-Ecke!

Ich muss dich gleich mal ermahnen: Ein Problem mit Delphi haben hier fast alle - bitte ändere den Titel des Topics, damit er ein wenig über das eigentliche Thema verrät. Hier der entsprechende Absatz aus den Richtlinien:
1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. [...]
Einfach unten in deinem ersten Beitrag auf user defined image klicken und den Titel ändern.


Was hast du denn schon, wo gehts nicht weiter? So ganz ohne Informationen können wir dir nicht sinnvoll helfen...

Viele Grüße,
Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 16:29 
Hu... erst einmal sortieren und verstehen was los ist.

Der Benutzer gibt eine vierstellige Zahl ein.
Dann wird sechs mal gerechnet

a/b-c=d


Dabei gilt:
b enthält alle Ziffern von a, der Größe nach absteigend sortiert
c ist b rückwärts
a erhält bei jeder neuen Iteration den Wert von d aus der jeweils vorherigen.

Um das umzusetzen brauchst du:
- Ein Eingabefeld
- Eine Iterationsschleife
- Umwandlung einer Zahl in einen String
- Sortierung von Zeichen innerhalb eines Strings
- Umwandlung eines Strings in eine Zahl

Sollte sich hier alles im Forum finden lassen :-)

Dann nur noch im Baukastenverfahren zusammensetzen

_________________
Delphi: XE - OS: Windows 7 Professional x64
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 16:33 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var
Form1: TForm1;
zahl:array[1..6of integer;
zahl1:integer;
doppelt:Boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
zahl1:=Strtoint(edit1.text);
cop:=zahl1
repeat
zahl1:=max-min;
until doppelt;
edit1.text:=inttostr(edit1.text);
end;

end.


Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 16:35 
user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Hu... erst einmal sortieren und verstehen was los ist.

Der Benutzer gibt eine vierstellige Zahl ein.
Dann wird sechs mal gerechnet

a/b-c=d


Dabei gilt:
b enthält alle Ziffern von a, der Größe nach absteigend sortiert
c ist b rückwärts
a erhält bei jeder neuen Iteration den Wert von d aus der jeweils vorherigen.

Um das umzusetzen brauchst du:
- Ein Eingabefeld
- Eine Iterationsschleife
- Umwandlung einer Zahl in einen String
- Sortierung von Zeichen innerhalb eines Strings
- Umwandlung eines Strings in eine Zahl

Sollte sich hier alles im Forum finden lassen :-)

Dann nur noch im Baukastenverfahren zusammensetzen
er soll nicht unbedingt 6 mal rechnen solange bis es immer die gleiche zahl kommt es ist unterscheidlich
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 16:40 
Ah, ok. Dein Eingangsbeitrag war da ein wenig schwammig.

Es soll also gerechnet werden

>
a = Zn absteigende Ziffern
b = Zn aufsteigende Ziffern
Zn+1 = a - b
< bis Zn = Zn+1


Oh interessant. Das kann man ja so direkt in Code umsetzen ;-p


PS: Ohne das jetzt tiefer analysiert zu haben: Ist denn überhaupt sichergestellt, dass irgedwann immer die gleiche Zahl rauskommt? Wenn nein, sollte man da vielleicht noch einen Zähler mitlaufen lassen, der das Ganze irgendwann einmal abbricht.

_________________
Delphi: XE - OS: Windows 7 Professional x64
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 16:49 
Code; Da kommt Fehler.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
  Form1: TForm1;
  zahl:array[1..6of integer;
  a,b:integer;
  doppelt:Boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
cop:=zahl1
repeat
Zn+1 = a - b
until Zn = Zn+1
edit1.text:=inttostr(edit1.text);
end;


Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Gammatester
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 328
Erhaltene Danke: 101



BeitragVerfasst: Di 18.10.11 16:56 
Ein Algorithmus ist normalerweise eine eindeutige Vorschrift. Raten hilft nicht viel:

In 9675 sind die Ziffern nicht sortiert, 9963 und 6399 ist nicht zu einander revers. Das sind keine Tippfehler, da die Differenzen stimmen.

Außerdem wäre zu prüfen, ob das Ganze immer bei einer Fixzahl ankommt.

Für diesen Beitrag haben gedankt: Horschdware
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 16:58 
Zunächst einmal kann man hier im Forum Code in Delphi Tags

[ delphi ] und [/ delphi] (ohne Leerzeichen) klammern. Das sieht gleich lesbarer aus.

Zum anderen hilft es, wenn man das Problem mit ein paar mehr Worten umschreibt als "Code, Fehler".
Ganze Sätze helfen da ungemein.

Zum Dritten:

user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var
  Form1: TForm1;
  zahl:array[1..6of integer;
  a,b:integer;
  doppelt:Boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  a:=strtofloat(edit1.text);
  b:=strtofloat(edit2.text);
  cop:=zahl1        // Was ist cop?
  repeat
    Zn+1 = a - b      
    until Zn = Zn+1


  edit1.text:=inttostr(edit1.text);
end;



"Man kann dieses Verfahren direkt umsetzen" heisst nicht "Kopiere diesen Text und verwende ihn so, denn es ist gültiger Delphi-Quellcode."
So gibt es bei dir beispielsweise keine Variable "Z", auch kein "Zn" oder ähnliches, obwohl du versuchst mit einer solchen zu arbeiten.

edit: Ich sehe gerade den Beitrag von Gammatester. Stimmt! Das mit den gedrehten Zahlen stimmt nicht.
Dann wäre der aller erste Punkt (bevor überhaupt eine Zeile Code geschrieben wird) der, dass klargestellt wird, wie dieser Algorithmus läuft!

_________________
Delphi: XE - OS: Windows 7 Professional x64
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 17:03 
wie heißt der befehl der eine 4stelleige zahl zerhackt
Hobby-Programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 238
Erhaltene Danke: 4

Win XP Pro, Vista Ultimate Trial :o)
D6 Pro, D7 Pro, Turbo, XE SE
BeitragVerfasst: Di 18.10.11 17:04 
... schau mal in der Hilfe unter 'POS'
- mit Copy kopieren.


Zuletzt bearbeitet von Hobby-Programmierer am Di 18.10.11 17:06, insgesamt 1-mal bearbeitet
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 17:05 
So?
function hackebeil(hack : integer) : integer;
;-)

Spaß beiseite: Es gibt unzählige Möglichkeiten, wie du eine vierstellige Zahl verändern kannst.
Welche der unendlich vielen Möglichkeiten darfs denn nun sein?

_________________
Delphi: XE - OS: Windows 7 Professional x64
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 17:07 
ich dachte der befehl ist cop. Er muss ja die 4stellige zahl zerhacken und dann mit bubblesort ordnen oder. Aber wie heißt der befehl
Hobby-Programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 238
Erhaltene Danke: 4

Win XP Pro, Vista Ultimate Trial :o)
D6 Pro, D7 Pro, Turbo, XE SE
BeitragVerfasst: Di 18.10.11 17:10 
Was verstehst du unter zerhacken?
Wenn du zerlegen meinst geht das mit Copy. Siehe Delphi-Hilfe
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 17:11 
wo ist die delphi-hilfe
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 17:13 
Ich glaube hier ist eher gemeint, wie man auf die einzelnen Ziffern zugreifen und diese dann sortieren kann.

An sich musst du nur die Zahl in einen String konvertieren und diesen dann zeichenbasiert sortieren. Wie das geht findest du wieder im Forum. Ich glaube aber nicht, dass dir das weiterhelfen wird, da ja bereits dein Beispiel zeigt, dass die Zahlen nicht sortiert sind.

Ach ja: Delphi Hilfe - F1 drücken

_________________
Delphi: XE - OS: Windows 7 Professional x64
Hobby-Programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 238
Erhaltene Danke: 4

Win XP Pro, Vista Ultimate Trial :o)
D6 Pro, D7 Pro, Turbo, XE SE
BeitragVerfasst: Di 18.10.11 17:14 
Das einfachste ist wenn du in der IDE 'copy' eingibst und F1 drückst.
Oder in der Delphipraxis, die kennst du ja, gibt es die Delphi Referenz.
docwiki.embarcadero.com/VCL/de/System.Copy

@Horst
Sorry, habe die anderen Beiträge nicht gelesen und ich dachte soweit wart ihr schon.

@Boxer
-Natürlich erst Zahl konvertieren - Stichwort 'IntToStr'


Zuletzt bearbeitet von Hobby-Programmierer am Di 18.10.11 17:17, insgesamt 2-mal bearbeitet
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 17:15 
Ich verstehe nur Bahnhof. Kann mir keiner den Anfang schreiben.
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 18.10.11 17:17 
user profile iconboxer123 hat folgendes geschrieben Zum zitierten Posting springen:
Kann mir keiner den Anfang schreiben.

Solange du nicht erklärst, wie die Zahlen zustande kommen: Nein!


Btw: www.delphipraxis.net...-programm-hilfe.html



edit: Ich muss mal wieder Erbsenzähler spielen...
Boxer, kannst du bitte ein kleines Bisschen auf Rechtschreibung, Satzbau und Zeichensetzung achten?
Fragen beendet man mit einem "?". Sätze, bzw. Teilsätze trennt man mit "." und ",". So etwas macht Beiträge gleich lesbarer und unter Umständen lesenswerter ;-)

_________________
Delphi: XE - OS: Windows 7 Professional x64


Zuletzt bearbeitet von Horschdware am Di 18.10.11 17:22, insgesamt 1-mal bearbeitet
boxer123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68
Erhaltene Danke: 2



BeitragVerfasst: Di 18.10.11 17:20 
So nochmal auf dem Formblatt sind 2x Edits und 1x Button .

Man Startet das Programm und schreibt im linken Edit Fenster eine 4Stelligezahl und wenn man dann auf den Button klickt kommt beim anderen Edit die Zahl