Для каждого элемента матрицы нужно найти суму соседних ему элементов - 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"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д