fork(1) download
  1. #include <iostream>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. int i, j, k, s = 0;
  11. srand (time(0));
  12. setlocale (0, "");
  13. begin:
  14. cout << "Введите нечетный размер массива: ";
  15. cin >> k;
  16. if (k%2 == 0)
  17. goto begin;
  18. int mass[k][k];
  19. for (i = 0; i < k; i++)
  20. {
  21. for (j = 0; j < k; j++)
  22. mass[i][j] = rand()%10;
  23. }
  24. cout << "Исходная матрица: " << endl;
  25. for (i = 0; i < k; i++)
  26. {
  27. for (j = 0; j < k; j++)
  28. {
  29. cout << mass[i][j];
  30. if (j==k-1)
  31. break;
  32. else
  33. cout << setw (2);
  34. }
  35. cout << endl;
  36. }
  37. for (i = 0; i < k; i++)
  38. {
  39. for (j = 0; j < k; j++)
  40. if (j == 0 || i <= k - 1 || i != k - 2) // Левая сторона квадрата
  41. s = s + mass[i][j];
  42. if (j == k - 1 || i <= k - 1 || i != k - 2) // Правая сторона квадрата
  43. s = s + mass[i][j];
  44. if (i == 0 || j != 0 || j != k - 2) // Верхняя часть квадрата
  45. s = s + mass[i][j];
  46. if (i == k - 1 || j != 0 || j != k - 2) // Нижняя часть квадрата
  47. s = s + mass[i][j];
  48. if (i == j) // Главная диагональ
  49. s = s + mass[i][j];
  50. if (i+j == k - 1) // Побочная диагональ
  51. s = s + mass[i][j];
  52. }
  53. cout << s;
  54. return 0;
  55. system ("PAUSE");
  56. }
Runtime error #stdin #stdout 0s 4488KB
stdin
Standard input is empty
stdout
Введите нечетный размер массива: