Для каждого элемента матрицы нужно найти суму соседних ему элементов - 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");
}