Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - einfaches Programm
seulberg1 - So 06.12.09 19:56
Titel: einfaches Programm
Hey,
ich hab erst seit einer Woche Delphi nur jetzt ein mathematischen Problem zu lösen, von dem ich glaube, dasses gut mit dem Programm zu lösen wäre, aber ich leider nicht die Befehle kenne wie es anzustellen wäre.
Also folgendes:
Ich hab eine 6stellige Zahl, von der nehme ich die letzte Ziffer weg uns schreibe sie an den anfang
z.B. 450298 wird zu 845029.
und wenn diese neue Zahl das vierfache der alten ist, würde ich sie gerne in eine Listbox schreiben....
das würde ich jetzt gerne für alle ganzzahligen n von 100000-500000 ausprobieren und dann die Liste angucken..
ist das schwierig zu programmieren??
wie gehts das??
wäre klasse wenn ihr mir helfen könntet....bin nämlich noch in dem Stadium wo man sich über variablendefinitionen und strtofloat gedanken macht:D
lg=)
Georg08 - So 06.12.09 20:31
ich hätte das auf die schnelle jetzt so gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); var s, s2 : string; begin
s := Edit1.Text; s2 := copy(s, 6, 1)+copy(s, 1, 5); if ( StrToInt(s)*4 = StrToInt(s2) ) then begin ListBox1.Items.Add(s); end else end; |
EDIT:
Jetzt müsste es gehen
FinnO - So 06.12.09 20:38
wenn man den string jetzt sinngemäß zusammensetzen würde...
Delphi-Quelltext
1:
| s2 := s[length(s)] + copy(s,1,length(s)-1); |
Marc. - So 06.12.09 20:38
Hey und :welcome: im Forum!
Es geht auch komplett ohne Strings (dafür aber mit der Unit Math):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var numA, numB: Integer; lastFigure: Integer; begin numA := 12345; lastFigure := numA mod 10; numB := (numA + Trunc(Power(10,Trunc(Log10(numA)) + 1) * lastFigure)) div 10; . |
Ich werde dir das gleich noch etwas entzerren. Dann sieht am man es als Anfänger vielleicht besser. :)
Bergmann89 - So 06.12.09 20:46
hey,
@Georg08:
damit nimmst du aber nich die letzte Ziffer an die 1. Stelle!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer; var str1, str2: String;
for i := 100000 to 100050 do begin str1 := IntToStr(i); str2 := str1[6]+str1[1]+str1[2]+str1[3]+str1[4]+str1[5]; if (StrToInt(str2)*4 = StrToInt(str1)) then ListBox1.Items.Add(str1+', '+str2); end; |
aber so ne Zahl gibts net...
€: zu langsam ^^
die idee nur mit den Zahlen zu rechnen is auch nich schlecht...
Mfg Bergmann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!