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

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


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

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

14   голосов , оценка 3.714 из 5
Похожие ответы