• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Suche Code für folgende Frage ...

Blackhawk50000

Spiele-Novize/Novizin
Mitglied seit
02.12.2004
Beiträge
108
Reaktionspunkte
0
Suche Code für folgende Frage ...

Hi Leute.....

ich möchte sehr gerne ein kleines Programm schreiben welches.... so funktionieren soll....

ich habe eine zahlenfolge von 6 zahlen..... und will sie mit Hilfe von 3 Modifikatoren umwandeln....

Schlüssel: 53144354
Modifikator1: 55141555
Modifikator2: 11003001
Modifikator3: 05055555
Resultat: 52211133

Ziel: 52211133


die Rechnung soll so ablaufen das ich etwa 30 verschiede vorgegebene Zahlenfolgen habe und nur eine Kombination (reihenfolge egal) die richtige ist..... und das Programm soll zwischen den Kombinationen raussuchen welche die richtige ist.....

....

gerechnet wird so:
Beispiel an der letzten stelle:

4+5+1+5=15
15 ist eine zu große zahl, davon soll dann so oft 6 abgezogen werden bis eine zahl zwischen 0 und 5 raus kommt.... (0 und 5 sind auch erlaubt)
15 - 2*6 = 3


Also… wenn man das ganze umformt kommt man auf

Ziel – Schlüssel = Modi1 + Modi2 + Modi3

In meinem falle

5 – 5 = 0
Und nach meiner Rechnung ergeben sich dafür folgende Kombinationsmöglichkeiten:

0 = (5+5+2) (5+4+3) (5+0+1) (4+4+4) (4+2+0) (4+1+1) (3+3+0) (3+2+1) (2+2+2) (0+0+0)
Nach der oben angegeben Formel kommt hier immer 0 raus….
Was aber wenn 1,2,3,4 oder 5 raus kommt… diese Kombinationsmöglichkeiten will ich hier auch mal erläutern:

0= (5+5+2) (5+4+3) (5+0+1) (4+4+4) (4+2+0) (4+1+1) (3+3+0) (3+2+1) (2+2+2) (0+0+0) 1= (5+5+3) (5+4+4) (5+2+0) (5+1+1) (4+3+0) (4+2+1) (3+3+1) (3+2+2) (1+0+0)
2= (5+5+4) (5+3+0) (5+2+1) (4+4+0) (4+3+1) (4+2+2) (3+3+2) (2+0+0) (1+1+0)
3= (5+5+5) (5+4+0) (5+3+1) (5+2+2) (4+4+1) (4+3+2) (3+3+3) (3+0+0) (2+1+0) (1+1+1) 4= (5+5+0) (5+4+1) (5+3+2) (4+4+2) (4+3+3) (4+0+0) (3+1+0) (2+2+0) (2+1+1)
5= (5+5+1) (5+4+2) (5+3+3) (5+0+0) (4+4+3) (4+1+0) (3+2+0) (3+1+1) (2+2+1)
Das Programm soll nun daraus dir richtigen kombinationen finden und den Schlüssel aus 6 zahlen so umformen mit 3 Modifikatoren das der Zielschlüssel raus kommt….

Edit Rabowke:
Vllt. solltest du auch erwähnen in welcher Sprache du das Programmieren möchtest. %)
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

ein absolutes Kinderspiel, wenn du sowas nicht selbst hinnbekommst lass es lieber direkt sein.... /ironie off
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Es wäre sehr hilfreich, wenn du schreibst, wozu das Ganze dienen soll und in welcher Art das Programm denn funktionieren soll - ua. wäre hierbei die gewünschte Programmiersprache und Plattform, unter der das Ganze laufen soll, erforderlich.

Aber erstmal zum grundsätzlichen Verständnisproblem:
Du schreibst, du hast als Ausgangswert eine Zahlenfolge von 6 Zahlen, gibst als Beispiel dann aber eine Zahl mit 8 Ziffern an :confused:

Dann soll das wohl so funktionieren, daß du quasi dreißig Versuche hast, aber nur eine Zahl ist quasi das richtige "Paßwort" - richtig?

Dann hast du in dem Prinzip einen Denkfehler, denn sobald die "Paßwort"-Zahl eine Ziffer <6 beinhaltet, gibt es mindestens eine weitere Kombination, die ebenfalls "passt".

Beispiel:
Angenommen, 458916 wäre deine sechsstellige richtige Zahl.
Dann würde 458976 genauso passen, da dann an der Stelle nur einmal mehr 6 abgezogen wird.

Ah, Moment, jetzt sehe ich erst, daß du ja nur Ziffern von 0-5 verwendest.
Wieso?

Bitte erklär dein Anliegen nochmal genauer unter Berücksichtigung der von mir gestellten Fragen und am besten mit folgenden Begrifflichkeiten, falls zutreffend:

Ziffern: einzelne Stellen einer Zahl
Zahlenmenge: die Zahlen, die man zur Zahlbildung verwenden darf (0-5?)
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Beetlejuice666 am 13.02.2008 12:15 schrieb:
ein absolutes Kinderspiel, wenn du sowas nicht selbst hinnbekommst lass es lieber direkt sein.... /ironie off


hehe..... nein ehrlich....das ich wirklich wichtig und ich brauche n bisschen hilfe.... das prgramm muss im c# programmiert sein..... (denke da isses auch am einfachsten-..

ahh nee danke das war total der denkfehler von mir...

ich habe die zahlen 0 bis 5 (also 6 zeichen) zur verfügung..... und die länger der zahlenfolgen ist immer 8... so. :)
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

okay, soweit passt alles..... nun folgendes..

ich habe 30 verschiedene modifikatoren die nach oben genannter rechnung funktionieren....

es müssen immer 3 modifikatoren verwendet werden... und nur die richtige kombination der 3 ergeben die zielzahlenfolge
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Wofür hast du denn 3 Modifikatoren?
Reicht da nicht einer? Oder ändern die sich irgendwann?

PS: C+ hab ich keine Ahnung von
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Worrel am 13.02.2008 12:33 schrieb:
PS: C+ hab ich keine Ahnung von


nicht c+ conder c# (oder war n vertipper dann sorry)

es MÜSSEN 3 modifikatoren aus den 30 zur verfügung stehenden sein
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 12:36 schrieb:
Worrel am 13.02.2008 12:33 schrieb:
PS: C+ hab ich keine Ahnung von
nicht c+ conder c# (oder war n vertipper dann sorry)
Egal, kann ich auch nicht :-D

es MÜSSEN 3 modifikatoren aus den 30 zur verfügung stehenden sein
Was genau soll denn passieren, wenn der Anwender das Programm nun startet?
gibt er eine Zahl ein oder 30?
Bestimmt das Programm, welche der 30 Zahlen als Modifikatoren verwendet werden oder der Anwender?
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

http://img210.imageshack.us/img210/341/unbenanntua5.jpg

so soll es aussehen in etwa


das programm soll selbstständig alle möglich kombinationen durchgehen bis es die richtige gefunden hat... und die richige kombination aus 3 modifikatoren anzeigen

(die 30 modifikatoren sind festgeglegt bevor das programm gestartet wird
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 12:45 schrieb:
http://img210.imageshack.us/img210/341/unbenanntua5.jpg
so soll es aussehen in etwa

das programm soll selbstständig alle möglich kombinationen durchgehen bis es die richtige gefunden hat... und die richige kombination aus 3 modifikatoren anzeigen

(die 30 modifikatoren sind festgelegt bevor das programm gestartet wird
Ach, die Modifikatoren sollen gefunden werden?
Hatte bisher angenommen, du suchst die Ziel-Zahl als Ausgabe.

Also ist die Aufgabenstellung:
Start- und Zielzahl sind gegeben, suchen sie die passenden Modifikatoren?
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Worrel am 13.02.2008 12:53 schrieb:
Blackhawk50000 am 13.02.2008 12:45 schrieb:
http://img210.imageshack.us/img210/341/unbenanntua5.jpg
so soll es aussehen in etwa

das programm soll selbstständig alle möglich kombinationen durchgehen bis es die richtige gefunden hat... und die richige kombination aus 3 modifikatoren anzeigen

(die 30 modifikatoren sind festgelegt bevor das programm gestartet wird
Ach, die Modifikatoren sollen gefunden werden?
Hatte bisher angenommen, du suchst die Ziel-Zahl als Ausgabe.

Also ist die Aufgabenstellung:
Start- und Zielzahl sind gegeben, suchen sie die passenden Modifikatoren?


ja genau... ihr seht das bild meines entwurfes... das einzige was tu tust ist es... die vorgegebene zielfolge und die schlüsselfolge einzugeben... dann gibst du die ebenfalls vorgegebenen 30 modifikatoren ein, und das programm soll schnell und präziese die einzieg richtige möglichkeit finden.... (und das sind verflucht viele kombimöglichkeiten)
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 12:36 schrieb:
Worrel am 13.02.2008 12:33 schrieb:
PS: C+ hab ich keine Ahnung von


nicht c+ conder c# (oder war n vertipper dann sorry)

es MÜSSEN 3 modifikatoren aus den 30 zur verfügung stehenden sein

Jetzt mal ganz pauschal. Ich würde die 3 Modifikatoren + Schlüssel in ein 2 dimensionales Feld zerlegen, die Addition vornehmen, das Ergebnis an eine Fall Bedingung übergeben. Die Fall Bedingung besteht aus 6 Fällen die je 2 Kriterien erfüllen müssen.

Z.B. die ersten beiden Fälle
select
case ($ergebnis == 12 || $ergebnis == 6{
if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 0) die'falsche Kombi';
return true;
case ($ergebnis == 13 || $ergebnis == 7){
if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 1) die'falsche Kombi';
return true;
case else{die'falsche Kombi';}
.
.
.
end select;


die Syntax war jetzt nur mal frei Schnautze hingeklatscht aber vom Prinzip her würd ichs so versuchen.
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

das ist nicht ganz das was ich mir vorgestellt hatte.. oder ich kann deinen gedanken jetzt net soganz folgen


dann müsschen noch die 30 anderen modifikatoren, jeder mit jedem durchprobiert werden... wie mach ich das in etwa?...
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

AchtBit am 13.02.2008 13:44 schrieb:
select
case ($ergebnis == 12 || $ergebnis == 6{
if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 0) die'falsche Kombi';
return true;
case ($ergebnis == 13 || $ergebnis == 7){
if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 1) die'falsche Kombi';
return true;
case else{die'falsche Kombi';}
.
.
.
end select;
Sieht gut aus, aber muß in dem else nicht "die richtige Kombi" stehen ?
Bzw natürlich nur "die richtige Stelle", die dann nochmal verglichen werden muß.

Könnte man derart einbauen:

Code:
zaehler = 0;

for k [1. Stelle bis letzte Stelle] {
  select 
    case ($ergebnis == 12 || $ergebnis == 6{
        if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 0) die'falsche Kombi';
    return true;
    case ($ergebnis == 13 || $ergebnis == 7){
        if($feld[$ziel][$anzahl der Aufrufe bzw. die aktuelle Stelle] != 1) die'falsche Kombi';
    return true;
    case else{
        $zaehler = $zaehler +1;
  }  
  .
  .
  .
  end select;
}  [Ende der for schleife]

if($zaehler == 8 ) die'richtige Kombi';

Bitte berücksichtigen, daß ich keine Ahnung von c# schreibweisen hab =)
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 13:57 schrieb:
das ist nicht ganz das was ich mir vorgestellt hatte.. oder ich kann deinen gedanken jetzt net soganz folgen

dann müsschen noch die 30 anderen modifikatoren, jeder mit jedem durchprobiert werden... wie mach ich das in etwa?...
Noch eine for schleife drum basteln, die dann die 30 Modifikatoren der Reihe nach aus dem Feld liest.
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Für was soll den der Code sein ? Wird das ein Keygen ?
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

N-Traxx am 13.02.2008 14:18 schrieb:
Für was soll den der Code sein ? Wird das ein Keygen ?

um gottey willen ein kaygen.. nein niemals.... sowas öffentlich fagen zu wollen wäre sehr blöd von mir.... sowas brauch ich nicht.....

nein das ist ein rätsel das ich von meinem informatik professor bekommen habe.... und ich wills in form eines programmes lösen....

BITTE HELFT MIR DABEI...... :)


ehm nochwas.... wie kommt ihr auf die zahlen 12 und 6 und 7?.....
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 14:23 schrieb:
ehm nochwas.... wie kommt ihr auf die zahlen 12 und 6 und 7?.....
Na überleg doch mal, was die beiden einzelstellen-Summen-Ergebnisse 6 und 12 gemeinsam haben ...
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Worrel am 13.02.2008 14:25 schrieb:
Blackhawk50000 am 13.02.2008 14:23 schrieb:
ehm nochwas.... wie kommt ihr auf die zahlen 12 und 6 und 7?.....
Na überleg doch mal, was die beiden einzelstellen-Summen-Ergebnisse 6 und 12 gemeinsam haben ...

sie sind beide durch 2 teilbar?!

ich weiß es nicht....

und in dem select werde da 3 modifikatoren bearbeitet?.... ich steig grade echt nicht durch..... scheiße ist das peinlich... ;(
 
AW: Eine wirklich große Herrausforderung... BITTE HELFT MIR BITTE BITTE

Blackhawk50000 am 13.02.2008 14:29 schrieb:
Worrel am 13.02.2008 14:25 schrieb:
Blackhawk50000 am 13.02.2008 14:23 schrieb:
ehm nochwas.... wie kommt ihr auf die zahlen 12 und 6 und 7?.....
Na überleg doch mal, was die beiden einzelstellen-Summen-Ergebnisse 6 und 12 gemeinsam haben ...

sie sind beide durch 2 teilbar?!

ich weiß es nicht....
Dann konzentrier dich mal ein bischen auf die Problematik.
Wir helfen dir ja gerne, aber mitdenken solltest du schon noch.

und in dem select werde da 3 modifikatoren bearbeitet?....
Nein, das ist die Überprüfung einer Stelle auf die möglichen Ergebnisse 0 und 1.
Wenn du den Rest der select Anweisung analog auffüllst, entspricht das der Summenprüfung einer Stelle auf die Ergebnisse 0-5.
 
Zurück