Для каждого элемента матрицы нужно найти суму соседних ему элементов - C (СИ)
Формулировка задачи:
здравствуйте,мой пост был ниже,но мне никто не помог. все-таки сам додумался и сделал,вроде бы правильно,но матрицу что-то не хочет выводить на экран. суть задания: для каждого элемента матрицы нужно найти суму соседних ему элементов и вывести эту матрицу на экран. знаю что через цикл нужно выводить,но что то у меня не выводит и не пишет никаких ошибок(
вот код:
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int main()
- {
- int macierz[4][5];
- int i,j;
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- scanf("%d",&macierz[i][j]);
- }
- printf("\n");
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- printf("%3d",macierz[i][j]);
- printf("\n");
- }
- printf("\n");
- printf("Macierz po sumowaniu:\n");
- if(i==0)
- {
- if(j==0)
- {
- macierz[i][j]=macierz[i+1][j] + macierz[i][j+1];
- }
- if(j==4)
- {
- macierz[i][j] = macierz[i+1][j] + macierz[i][j-1];
- }
- else
- {
- if(i==0 && (j!=0 && j!=4))
- {
- if(j>=1 && j<=3)
- {
- macierz[i][j] = macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
- }
- }
- }
- }
- if(i==1)
- {
- if(j==0)
- {
- macierz[i][j]=macierz[i][j+1]+macierz[i-1][j]+macierz[i+1][j];
- }
- if(j==4)
- {
- macierz[i][j]=macierz[i][j-1]+macierz[i+1][j]+macierz[i-1][j];
- }
- else
- {
- if(i==1 && (j!=0 && j!=4))
- {
- if(j>=1 && j<=3)
- {
- macierz[i][j] = macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
- }
- }
- }
- }
- if(i==2)
- {
- if(j==0)
- {
- macierz[i][j]=macierz[i-1][j]+macierz[i][j+1]+macierz[i+1][j];
- }
- if(j==4)
- {
- macierz[i][j]=macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j];
- }
- else
- {
- if(i==2 && (j!=0 && j!=4))
- {
- if(j>=1 && j<=3)
- {
- macierz[i][j] = macierz[i-1][j]+macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
- }
- }
- }
- }
- if(i==3)
- {
- if(j==0)
- {
- macierz[i][j]=macierz[i-1][j] + macierz[i][j+1];
- }
- if(j==4)
- {
- macierz[i][j] = macierz[i-1][j]+macierz[i][j-1];
- }
- else
- {
- if(i==3 && (j!=0 && j!=4))
- {
- if(j>=1 && j<=3)
- {
- macierz[i][j] = macierz[i][j-1]+macierz[i-1][j]+macierz[i][j+1];
- }
- }
- }
- }
Решение задачи: «Для каждого элемента матрицы нужно найти суму соседних ему элементов»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdlib>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int main()
- {
- int macierz[4][5] = {{1,2,3,4,5},
- {6,7,8,9,10},
- {11,12,13,14,15},
- {16,17,18,19,20}
- };
- int i,j;
- /*
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- scanf("%d",&macierz[i][j]);
- }
- */
- printf("\n");
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- printf("%3d",macierz[i][j]);
- printf("\n");
- }
- printf("\n");
- printf("Macierz po sumowaniu:\n");
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- {
- macierz[i][j]= macierz[i+1][j] + macierz[i][j+1];
- macierz[i][j] = macierz[i+1][j] + macierz[i][j-1];
- macierz[i][j] = macierz[i][j-1]+macierz[i+1][j]+macierz[i][j+1];
- }
- }
- for(i=0; i<=3; i++)
- {
- for(j=0; j<=4; j++)
- printf("%3d",macierz[i][j]);
- printf("\n");
- }
- system("pause");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д