Najpierw napisze treść zadania.
a) Wczytaj macierz A liczb całkowitych (max.dwucyfrowych o 4 wierszach i 5 kolumnach i wydrukuj ją (zachowując wyrównanie liczb w kolumnach).
b)Dla każdego elementu macierzy A wyznacz sumę jego sąsiednich elementów (istnieją max. 4 elementy sąsiednie: u góry, u dołu, z lewej i z prawej). Uwaga dla skrajnych elementów sumowaniu podlegają 3, a niekiedy 2 elementy sąsiednie, nie wolno odwoływać się do nieistniejących elementów tablicy, programista jest odpowiedziallny za sprawdzanie i nie wykraczanie poza tablicę.
Przykład w załączniku.
#include <stdio.h>
int main()
{
int A[4] [5];
int i, j;
for(i=0;i<4;i++) //petla zewnetrzna
for(j=0;j<5;j++) //petla wewnetrzna
{
printf("\nPodaj element macierzy [%d.%d]: ", i,j);
scanf("%3d", &A[i][j]);
}
printf("\nMacierz oryginalna:\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%3d", A[i][j]);
printf("\n");
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
//dalsze instrukcje
if(i==0 && j==0) //ten warunek jest chyba dobrze
{
A[i][j]=A[i][j+1]+A[i+1][j];
}
else if(i>0 && i<4)//tutaj nie wiem jak dalej pisać warunki i wyliczać te wartości
{
if(j>0 && j<4)
A[i][j]=A[i-1][j-1]+A[i+1][j+1]+A[i+2][j];
}
}
printf("\n");
}
printf("\nMacierz sum sasiednich elementow:\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%3d", A[i][j]);
printf("\n");
}
getch();
return 0;
}
Jak zapisać kolejne warunki i które liczby dodawać? Czy może jest jakiś prostszy sposób na to? Będę wdzięczny za każdą wskazówkę.