ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
2770
2770
EMPFEHLEN
-
Hallo.
Ich wollte eigentlich die Werte von einem 2D array in ein anders kopieren und dabei eine bestimmte menge an Zahlen gegen 0 tauschen.
Ich dachte beim kopieren an:Code :1
printf("Geben sie bitte, für den Schwierigkeitsgrad, eine Zahl zwischen 1 und 80 ein");
aber das sieht ziemlich „Unelegant“ und dann es fehlt mir immer noch die Möglichkeit der abfrage.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
#include <stdio.h> void main(void) { int feld[9][9] = //Das sudoku { {1, 7, 9, 4, 6, 3, 2, 8, 5}, {4, 2, 5, 8, 1, 9, 7, 6, 3}, {3, 6, 8, 7, 5, 2, 9, 4, 1}, {9, 4, 7, 2, 3, 5, 6, 1, 8}, {6, 8, 1, 9, 7, 4, 3, 5, 2}, {2, 5, 3, 1, 8, 6, 4, 9, 7}, {8, 1, 2, 6, 4, 7, 5, 3, 9}, {5, 9, 6, 3, 2, 1, 8, 7, 4}, {7, 3, 4, 5, 9, 8, 1, 2, 6}, }; int feld2[9][9] = //das Feld nach der Abfrage { {1, 2, 3, 4, 5, 6, 7, 8, 9}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 5, 0, 3, 0, 0, 0, 2}, {0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 3, 0, 0, 0, 2, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 9, 0, 0}, {0, 0, 0, 0, 0, 0, 5, 0, 0}, }; int x, y; feld[0][0] = feld2[0][0]; feld[0][1] = feld2[0][1]; feld[0][2] = feld2[0][2]; feld[0][3] = feld2[0][3]; feld[0][4] = feld2[0][4]; feld[0][5] = feld2[0][5]; feld[0][6] = feld2[0][6]; feld[0][7] = feld2[0][7]; feld[0][8] = feld2[0][8]; //usw.
Das sollte ein Sudoko werden bei dem man den Schwierigkeitsgrad (also die menge der zahlen die man löschen sollte) abfragen kann.
Weiß jemand wie ich das lösen könnte
-
15.04.07 18:19 #2
Hmm für mich nichtganz eindeutig die Frage aber ich versuche es mal:
- volles Array (Lösung) erstellen
- volles Array kopieren (Ratearray)
- Eingabe der Schwierigkeit (n-Zahlen weglassen)
- for schleife (0-n)
- Boolvar auf false
- while schleife (solange Boolvariable falsch)
- Zufallsindex wählen(0-9)(0-9) oder einmal und splitten
- Abfragen ob der Inhalt 0 ist (wenn nein boolvar = true)
- indexplatz auf 0 setzen
- ende gelände
So oder so ähnlich sollte es klappen, die Frage ist nur ob es überhaupt lösbar ist ein bei einer zu einseitigen Matrix
Visit shadowmasta
-
Danke für deine hilfe aber ich muss erhlich sagen das ich nicht wirklich viel bis jetzt programmiert hab ....
ich versteh alles bis:
Boolvar auf false
- while schleife (solange Boolvariable falsch)
- Zufallsindex wählen(0-9)(0-9) oder einmal und splitten
- Abfragen ob der Inhalt 0 ist (wenn nein boolvar = true)
- indexplatz auf 0 setzen
-
15.04.07 22:47 #4
Ok zur Erklärung: Ich habe deine Frage so verstanden das wenn der User den Schwierigkeitsgrad 40 angibt, genau 40 Zahlen vom Array auf 0 zurückgesetzt werde sollen. Der Hintergrund der ganzen Geschichte ist es zufällig irgendwelche Werte(Indizes) zu wählen und sie auf 0 zu setzen damit der User dieses Feld erraten muss(Soduku halt). Wenn dieses Feld aber schon mit 0 belegt ist, würde die For-Schleife weiterzählen und es wären z.B. nur 39 Felder auf 0 gesetzt worden und nicht 40. Desweiteren eine ausführlichere Erklärung zu den nicht verstandenen Punkten
Du setzt in der For-Schleife eine Variable vom Typ Bool auf false, das bedeutet in diesem Fall, der Slot wird schon eine 0 haben, es ist quasi nur ein Schalter. Solange diese Variable false ist wird die While-Schleife ausgeführt. Diese erzeugt zufällig Indizes (0-9)
da dein Array ja bla[9,9] aussieht. Z.b. erzeugt das Programm x1=4 und x2=7 dann fragst du ab ob dort schon eine 0 steht. Ist dies der Fall werden neue Indizes erzeugt solange bis der Platz keine 0 enthält. Dann setzt du die Bool Variable auf true und den Platz auf 0 somit wird die While-Schleife abgebrochen und die For-Schleife geht weiter. Dieses Prozedere n-mal.
Zufallswert erzeugen: random(10) oder rand % 10
Alles weitere findest du in der Hilfe mfg
Visit shadowmasta
Ähnliche Themen
-
Array kopieren
Von Cyraid im Forum C/C++Antworten: 6Letzter Beitrag: 02.05.10, 23:45 -
Array neu aufbauen/verändern
Von BastianW im Forum PHPAntworten: 3Letzter Beitrag: 04.04.09, 17:27 -
HEX-Array dynamisch verändern? Problem!
Von eXus49 im Forum C/C++Antworten: 3Letzter Beitrag: 22.01.08, 19:01 -
Schlüssel verändern Array
Von weltvolk im Forum PHPAntworten: 2Letzter Beitrag: 08.11.07, 18:35 -
Globales array verändern
Von hermann9 im Forum JavaAntworten: 11Letzter Beitrag: 08.06.05, 15:09





Zitieren
Login






