PLS help!!
-
bitte bitte,
erstmal die frage von mir? was soll die anweisung in zeile 14 machen? die schreibt an die stelle [8][8] (also unten rechts) den wert 8und die ausgabe, also ich hab noch nicht wirklich großartig mit cin und cout gearbeitet, also probierst du es damit
//Header einbinden #include <stdio.h> //An die Stelle der Ausgabe for(i=0;i<=8;i++) { for(j=0;j<=8;j++) { printf("%d", sudoku_feld[i][j]); } printf("\n"); }
also das j musste halt noch deklarieren
bei dem printf bin ich mir aber gerade nicht so sicher, ob das auch in C++ geht, dürfte aber auch funktionieren, im notfall musst du mal gucken, wie der aufbau von cout ist
-
miujin schrieb:
bitte bitte,
erstmal die frage von mir? was soll die anweisung in zeile 14 machen? die schreibt an die stelle [8][8] (also unten rechts) den wert 8Sicher? Ich probiere es jetzt nicht aus, aber ich denke, er schreibt an [9] [9] (über das Array hinaus) den Wert 9.
-
miujin schrieb:
also das j musste halt noch deklarieren
bei dem printf bin ich mir aber gerade nicht so sicher, ob das auch in C++ geht, dürfte aber auch funktionieren, im notfall musst du mal gucken, wie der aufbau von cout ist
Da Soulseller ja sowieso mit einem C++-Compiler kompiliert, noch ein, zwei Hinweise hierzu. Zählvariablen für for-Schleifen muss man in C vorher deklarieren, in C++ aber nicht. Solange du eine Variable als nur für die Schleife brauchst, kannst du sowas hier machen:
for(int i=0;i<123;i++) {...}
printf ist auch ein Bestandteil von C++, das ist also kein Problem. Mit cout ginge das dann auch ganz einfach, nämlich so:
#include <stdio.h> #include <iostream> int main() { short sudoku_feld[9][9]={0}; for(int i=0;i<=8;i++) { sudoku_feld[i][i] = 1; } for(int i=0;i<=8;i++) { for(int j=0;j<=8;j++) { std::cout << sudoku_feld[i][j]; } std::cout << std::endl; } getchar(); }
EDIT: Ach ja, und arbeite an deiner Einrückung! Sobald deine Programme ein wenig größer werden, kriegst du arge Probleme, wenn du nicht vernünftig einrückst.
Öffnende geschweifte Klammer => nach rechts einrücken!
Schließende geschweifte Klammer => wieder zurück!Mehr isses im Grunde nicht...
-
Gut danke erstmal Leute! ICh werde eure tipps sofort ausprobieren! und @miujin ja das mit der Zeile 14 habe ich auch gemerkt das die keinen sinn ergibt ist nu auch futsch^^ nuja also ich habe bis her es soweid geschafft!
#include<iostream> using namespace std; int main() { int a,s; int sudoku_feld[9][9]; for(a=0; a<9; a++) for(s=0; s<9; s++) { sudoku_feld[a][a] = 9; sudoku_feld[s][s] = 9; } for(a=0; a<9; a++) { for(s=0; s<9; s++) { cout<<sudoku_feld[a]<<" "<<sudoku_feld[s]<<"\n"; } } cin.get(); }
Jetzt probier ich mal eure tipps noch aus!!! udn nochmals vielen dank hat mir sehr geholfen!
-
Hmm, das mit der Einrückung klappt aber noch nicht so ganz, ne.
Oder sehen wir hier einen kruden Mix aus Tabs und Leerzeichen? Ansonsten zieh dir das hier mal 'rein:
http://de.wikipedia.org/wiki/Einrückungsstil
Öffnende und schließende eines Blocks/Scopes stehen untereinander. Beispiel:
int main() { while(1) { for(;;) { if(1) { for(;;) { while(1) { DoSomething(); } } } } } }
Und das Füllen der Diagonalen mit Einsen musst du nur mit einer Schleife machen, nicht mit zweien (siehe mein Beispiel, das ist eigentlich schon die Lösung!).
-
_matze schrieb:
Zählvariablen für for-Schleifen muss man in C vorher deklarieren
ja, sollte man. geht natürlich auch anders, wenn man C99 verwendet.
_matze schrieb:
Mit cout ginge das dann auch ganz einfach...
nicht dass ich pingelig bin. aber ich finde, im c-forum sollte man keinem zu 'cout' raten.
-
~fricky schrieb:
nicht dass ich pingelig bin. aber ich finde, im c-forum sollte man keinem zu 'cout' raten.
Na ja, erstens rate ich ja nicht dazu, zweitens programmiert er ja offensichtlich C++ (er hat selbst cout benutzt und liest ein C++-Buch) und ist im falschen Forum gelandet, was schon erwähnt wurde und woraufhin er um Verschiebung gebeten hat.
Also ja, du bist zu pingelig!
-
_matze schrieb:
Also ja, du bist zu pingelig!
ok, hast ja recht.
-
voila
#include <iostream> using namespace std; int main() { int arr[9][9]; for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { if(i==j) arr[i][i]=1; else arr[i][j]=0; cout << arr[i][j] << " "; } cout << endl; } cout << endl; return 0; }
-
Also habe es nun geschafft dank eurer Hilfe Vielen Vielen Dank!!