Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // praktikum_05_A1.cpp
  4. //
  5. // Created by Khanh Tömmes on 07.11.19.
  6. // Copyright © 2019 Khanh Tömmes. All rights reserved.
  7. //
  8.  
  9.  
  10.  
  11. #include <iostream>
  12. #include <string>
  13. using namespace std;
  14.  
  15. int main() {
  16.  
  17. char eingabe = 0;
  18.  
  19. //Berechnung
  20. // erstellung unseres Arrays wir setzten als erstes alle speicher Zellen auf 0
  21. int werte[10][10] = { 0 };
  22.  
  23. // erste for schleife Hier erstellen wir unser 1*1
  24. // Hier berechnen wir für jede Zelle einen Wert und übermitteln diesen in unsere Zelle
  25. for (int i1 = 1;i1 <= 10;i1++)
  26. {
  27. for (int i2 = 1;i2 <= 10;i2++)
  28. {
  29.  
  30. // Hier weisen wir unserem array die berechnete Zahl zu
  31. // -1 ist hier da wir unseren Platz im Array korregieren müssen
  32. werte[i1 - 1][i2 - 1] = i1 * i2;
  33. }
  34. }
  35.  
  36. // nach der Array berechnung und zuweisung können wir nach belieben die Zeilen ändern
  37. // Wichtig man muss hier beachten das man von 0 anfängt zu Zählen
  38. // Einfache Wert zuweisung durch einzelnes "="
  39. werte[5][2] = 99; //Anpassung beliebiger Werte
  40.  
  41. //Ausgabe Zeilen
  42. // Zweite for schleife
  43. // Wir implementieren unser Array künstlich ins Minus
  44. for (int i1 = -2;i1 < 10;i1++)
  45. {
  46. // Wir geben hier unsere erste Zeile aus im "minusbereich" -2
  47. if (i1 == -2) { cout << '\t' << '\t';
  48. for (int t = 1;t <= 10;t++) { cout << t << '\t'; } };
  49.  
  50. // Hier wird unsere Linie erzeugt im künstlichen minusbereich -1
  51. if (i1 == -1) { cout << '\t';for (int t = 0;t < 75;t++) { cout << '_'; } };
  52.  
  53. // und erst hier fängt unser 1*1 erst an der künstliche minusbereich ist wichtig damit wir auf Zeilen und Spalten ohne Probleme zugreifen können.
  54. if (i1 >= 0) {
  55. //Ausgabe Spalten
  56.  
  57. // Diese for schleife steckt in der ersten und wird erst erzeugt wenn wir uns nichtmehr im negativen Zeilenbereich befinden
  58. // ab hier wird ähnlich wie der negative Zeilenbereich ein negativer spaltenbereich erzeugt
  59. for (int i2 = -2;i2 < 10;i2++) {
  60.  
  61. // bei der negativen spaltenposition -2 erzeugen wir halt Diagonal unsere Zahlen
  62. if (i2 == -2) { cout << i1 + 1 << '\t'; };
  63.  
  64. // Hier wird unser Querbalken bzw Linien im Diagonalen erzeugt
  65. if (i2 == -1) { cout << '|' << '\t'; };;
  66.  
  67. // und ab hier werden unsere eigentlichen Werte aus dem Vorherberechneten 1*1 ausgegeben
  68. if (i2 >= 0) {
  69. cout << werte[i1][i2] << '\t';
  70. }
  71. }
  72. }
  73. cout << endl;
  74. }
  75.  
  76. cout << endl;
  77.  
  78. /* Hier nutzen wir mithilfe einer do while schleife eine Abfrage ob unsere eingabe richtig ist.
  79. Ich nutze hier einen charakter weil wir eingaben wie "e" auch vermeiden möchten.*/
  80. do
  81. {
  82. cout << "Welche Reihe soll ausgegeben werden (1 bis 10): ? ";
  83. cin >> eingabe;
  84. }
  85. while (eingabe < int('1') || eingabe > int('9'));
  86.  
  87. // Aufgabe C hier geschiet die Ausgabe unserer Reihe
  88. for (int i = 0;i < 10;i++) {
  89.  
  90. /* Hier greifen wir erneut auf unser Array zu aber erstzten unsere Zeile die wir ausgegeben haben möchten durch unsere Variable eingabe um nun auf die richtige Spalte zugreifen zu können müssen wir den "char" Wert den wir eingelesen haben aber noch umformen (ähnlich wie beim praktikum 4 Aufgabe 2 mit der chefrierung) */
  91.  
  92. cout << werte[int(eingabe) - int('0') - 1][i] << ' ';
  93. }
  94. cout << endl;
  95.  
  96. system("PAUSE");
  97.  
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement