Для каждого элемента матрицы нужно найти суму соседних ему элементов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

здравствуйте,мой пост был ниже,но мне никто не помог. все-таки сам додумался и сделал,вроде бы правильно,но матрицу что-то не хочет выводить на экран. суть задания: для каждого элемента матрицы нужно найти суму соседних ему элементов и вывести эту матрицу на экран. знаю что через цикл нужно выводить,но что то у меня не выводит и не пишет никаких ошибок( вот код:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  4. int main()
  5. {
  6. int macierz[4][5];
  7. int i,j;
  8. for(i=0; i<=3; i++)
  9. {
  10. for(j=0; j<=4; j++)
  11. scanf("%d",&macierz[i][j]);
  12. }
  13. printf("\n");
  14. for(i=0; i<=3; i++)
  15. {
  16. for(j=0; j<=4; j++)
  17. printf("%3d",macierz[i][j]);
  18. printf("\n");
  19. }
  20. printf("\n");
  21. printf("Macierz po sumowaniu:\n");
  22.  
  23. if(i==0)
  24. {
  25. if(j==0)
  26. {
  27. macierz[i][j]=macierz[i+1][j] + macierz[i][j+1];
  28. }
  29. if(j==4)
  30. {
  31. macierz[i][j] = macierz[i+1][j] + macierz[i][j-1];
  32. }
  33. else
  34. {
  35. if(i==0 && (j!=0 && j!=4))
  36. {
  37. if(j>=1 && j<=3)
  38. {
  39. macierz[i][j] = macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
  40. }
  41. }
  42. }
  43. }
  44. if(i==1)
  45. {
  46. if(j==0)
  47. {
  48. macierz[i][j]=macierz[i][j+1]+macierz[i-1][j]+macierz[i+1][j];
  49. }
  50. if(j==4)
  51. {
  52. macierz[i][j]=macierz[i][j-1]+macierz[i+1][j]+macierz[i-1][j];
  53. }
  54. else
  55. {
  56. if(i==1 && (j!=0 && j!=4))
  57. {
  58. if(j>=1 && j<=3)
  59. {
  60. macierz[i][j] = macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
  61. }
  62. }
  63. }
  64. }
  65. if(i==2)
  66. {
  67. if(j==0)
  68. {
  69. macierz[i][j]=macierz[i-1][j]+macierz[i][j+1]+macierz[i+1][j];
  70. }
  71. if(j==4)
  72. {
  73. macierz[i][j]=macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j];
  74. }
  75. else
  76. {
  77. if(i==2 && (j!=0 && j!=4))
  78. {
  79. if(j>=1 && j<=3)
  80. {
  81. macierz[i][j] = macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
  82. }
  83. }
  84. }
  85. }
  86. if(i==3)
  87. {
  88. if(j==0)
  89. {
  90. macierz[i][j]=macierz[i-1][j] + macierz[i][j+1];
  91. }
  92. if(j==4)
  93. {
  94. macierz[i][j] = macierz[i-1][j]+macierz[i][j-1];
  95. }
  96. else
  97. {
  98. if(i==3 && (j!=0 && j!=4))
  99. {
  100. if(j>=1 && j<=3)
  101. {
  102. macierz[i][j] = macierz[i][j-1]+macierz[i-1][j]+macierz[i][j+1];
  103. }
  104. }
  105. }
  106. }

Решение задачи: «Для каждого элемента матрицы нужно найти суму соседних ему элементов»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdlib>
  4.  
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6.  
  7. int main()
  8. {
  9.     int macierz[4][5] = {{1,2,3,4,5},
  10.      {6,7,8,9,10},
  11.      {11,12,13,14,15},
  12.      {16,17,18,19,20}
  13.     };
  14.     int i,j;
  15.     /*
  16.     for(i=0; i<=3; i++)
  17.     {
  18.         for(j=0; j<=4; j++)
  19.         scanf("%d",&macierz[i][j]);
  20.     }
  21.     */
  22.     printf("\n");
  23.  
  24.     for(i=0; i<=3; i++)
  25.     {
  26.         for(j=0; j<=4; j++)
  27.         printf("%3d",macierz[i][j]);
  28.         printf("\n");
  29.     }
  30.    
  31.     printf("\n");
  32.     printf("Macierz po sumowaniu:\n");
  33.    
  34.     for(i=0; i<=3; i++)
  35.     {
  36.      for(j=0; j<=4; j++)
  37.      {
  38.        macierz[i][j]= macierz[i+1][j] + macierz[i][j+1];
  39.        macierz[i][j] = macierz[i+1][j] + macierz[i][j-1];
  40.        macierz[i][j] = macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
  41.      }
  42.  }
  43.     for(i=0; i<=3; i++)
  44.     {
  45.         for(j=0; j<=4; j++)
  46.         printf("%3d",macierz[i][j]);
  47.         printf("\n");
  48.     }
  49.   system("pause");
  50. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы