Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.  
  8. int sudoku[9][9] = { 0 }; // Eingebenes Sudokufeld Zahlenwerte herausfinden und hier reinspeichern
  9. string zeilen[11]; // Sudokufeld, welches eingegeben wird.
  10. int index1 = 0;
  11. int index2 = 0; // index für das zweidimensionale Array (zweite Stelle)
  12.  
  13.  
  14.  
  15.  
  16.  
  17. cout << "Bitte geben Sie das Sudoku ein:" << endl;
  18.  
  19. // Mit einer Schleife 11 mal nach einer Zeileneingabe fragen
  20. for (int i = 0; i < 11; i++) {
  21. getline(cin, zeilen[i]); // Zeile einlesen
  22.  
  23. if (i != 3 && i != 7) { // Solange Zeile nicht die "---" Zeile ist über die aktuelle Zeile laufen und alle Zahlenwerte rausfischen
  24.  
  25. index2 = 0;
  26. for (int a = 0; a < zeilen[i].length(); a++) { // a steht für die Position in der Zeile
  27.  
  28. // Wenn die aktuelle Stelle in Punkt oder ein | ist, dann zur nächsten Stelle gehen
  29. if (zeilen[i][a] == '.' || zeilen[i][a] == '|')
  30. continue;
  31.  
  32.  
  33. else {
  34. // Ansonsten ist es ein Zahlenwert -> In das Sudoku Array speichern
  35. sudoku[index1][index2] = zeilen[i][a] - '0';
  36. index2++;
  37. }
  38. }
  39. index1++;
  40. }
  41.  
  42. }
  43.  
  44.  
  45. // Ausgabe für Zahlen und Zeichen
  46.  
  47.  
  48. cout << "Das Sudoku lautet: " << endl;
  49.  
  50. for (int i = 0; i < 9; i++) {
  51. if (i % 3 == 0 && i != 0)
  52. cout << "=======//=======//=======" << endl;
  53. for (int c = 0; c < 9; c++) {
  54. cout << ";" << sudoku[i][c];
  55. if (c == 2 || c == 5)
  56. cout << ";//";
  57. }
  58. cout << endl;
  59. }
  60.  
  61. // Überprüfung auf Korrektheit 8.2:
  62.  
  63.  
  64.  
  65. int anzahl = 0;
  66.  
  67. // Spaltenüberprüfung
  68.  
  69. for (int spalten = 0; spalten < 9; spalten++) {
  70. for (int zahlen = 1; zahlen <= 9; zahlen++) {
  71. for (int zeilen = 0; zeilen < 9; zeilen++) {
  72. if (sudoku[zeilen][spalten] == zahlen)
  73. anzahl++;
  74. }
  75. if (anzahl > 1)
  76. cout << "Spalten " << spalten << ": Zahl " << zahlen << " kommt mehrfach vor." << endl;
  77. else if (anzahl == 0)
  78. cout << "Spalten " << spalten << ": Zahl " << zahlen << " kommt nicht vor." << endl;
  79. anzahl = 0;
  80. }
  81. }
  82.  
  83. // Zeilenüberprüfung
  84.  
  85. for (int zeilen = 0; zeilen < 9; zeilen++) {
  86. for(int zahlen = 1; zahlen <=9; zahlen++){
  87. for (int spalten = 0; spalten < 9; spalten++) {
  88. if (sudoku[zeilen][spalten] == zahlen)
  89. anzahl++;
  90. }
  91.  
  92. if (anzahl > 1)
  93. cout << "Zeile " << zeilen << ": Zahl " << zahlen << " kommt mehrfach vor." << endl;
  94. else if (anzahl == 0)
  95. cout << "Zeile " << zeilen << ": Zahl " << zahlen << " kommt nicht vor." << endl;
  96. anzahl = 0;
  97. }
  98. }
  99.  
  100.  
  101. system("PAUSE");
  102. return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement