fork download
  1. #include <iostream>
  2. using namespace std;
  3. /*
  4. Declarăm si citim “n”.
  5. Declarăm matricea și vectorul în care vom stoca ultima coloana a matricei.
  6. Cu o structura repetitiva, parcurg “n” pasi:
  7. Cu o alta structura repetitiva, citim elementele matricei:
  8. Cu ajutorul unei structuri decizionale, vom verifica dacă indicele coloanei este egal cu “n”:
  9. In caz afirmativ, folosindu-ne de indicele liniilor,
  10. stocăm în vector, elementul curent.
  11.  
  12.   6. Cu un “for” care ruleaza de la “n + 1” pana la n / 2 + 1 inclusiv:
  13. Cu o structura repetitiva care ruleaza de la “1” pana la “n” inclusiv:
  14. Dacă indicele liniei este mai mare decat “n / 2 + 1”:
  15. mutam elementele liniei anterioare pe linia curentă.
  16. Altfel copiem în linia curentă elementele vectorului, folosindu-ne de indicele coloanei curente.
  17.   7. Incrementam pe “n”.
  18. */
  19.  
  20. const int MAX_SIZE = 10;
  21.  
  22. int main() {
  23. int n;
  24. cin >> n;
  25. int mt[MAX_SIZE + 2][MAX_SIZE + 1], v[MAX_SIZE + 1];
  26. for (int i = 1; i <= n; ++i) {
  27. for (int j = 1; j <= n; ++j) {
  28. cin >> mt[i][j];
  29. if (j == n) {
  30. v[i] = mt[i][j];
  31. }
  32. }
  33. }
  34. for (int i = n + 1; i >= n / 2 + 1; --i) {
  35. for (int j = 1; j <= n; ++j) {
  36. if (i > n / 2 + 1) {
  37. mt[i][j] = mt[i - 1][j];
  38. } else {
  39. mt[i][j] = v[j];
  40. }
  41. }
  42. }
  43. ++n;
  44. for (int i = 1; i <= n; ++i) {
  45. for (int j = 1; j < n; ++j) {
  46. cout << mt[i][j] << " ";
  47. }
  48. cout << "\n";
  49. }
  50. return 0;
  51. }
  52.  
  53.  
Success #stdin #stdout 0.01s 5296KB
stdin
10
15 15  4 54  8 48 48 47 87 48
54 64 84 68 78 78 79 87  9 79 
86  5 46 54 68 87 89  7  8 79
8  79  8 54 47 79 11 19 20 100
15 15  4 54  8 48 48 47 87 48
54 64 84 68 78 78 79 87  9 79 
86  5 46 54 68 87 89  7  8 79
8  79  8 54 47 79 11 19 20 100
54 64 84 68 78 78 79 87  9 79 
86  5 46 54 68 87 89  7  8 79
stdout
15 15 4 54 8 48 48 47 87 48 
54 64 84 68 78 78 79 87 9 79 
86 5 46 54 68 87 89 7 8 79 
8 79 8 54 47 79 11 19 20 100 
15 15 4 54 8 48 48 47 87 48 
48 79 79 100 48 79 79 100 79 79 
54 64 84 68 78 78 79 87 9 79 
86 5 46 54 68 87 89 7 8 79 
8 79 8 54 47 79 11 19 20 100 
54 64 84 68 78 78 79 87 9 79 
86 5 46 54 68 87 89 7 8 79