* Nigde nisi uneo N
* Inicijalizacija niza brojaca se moze vrsiti notacijom ={0}
* Mislim da kada je rec o magicnom kvadratu, da i dijagonale ulaze u proveru
* Kod si prepisivao s papira, pa otuda i gomila gresaka (zarez umesto tacka-zarez kod petlji i sl)
Program nisam uradio ceo, samo sam ti pomogao oko unosa, ispisa i sumiranja. Oko provere identicnosti svih suma se potrudi sam.
TEST PODACI ZA MATRICU 4x4:
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Code:
#include <stdio.h>
#include <stdlib.h>
#define MAX_DIMENZIJA 10
int main(void)
{
/* petlje, broj elemenata */
int i, j, n;
/* matrica */
int magkv[MAX_DIMENZIJA][MAX_DIMENZIJA];
/* sume kolona, vrsta, dijagonala */
int suma_kolona[MAX_DIMENZIJA]={0}, suma_vrsta[MAX_DIMENZIJA]={0}, suma_glavne_d=0, suma_pomocne_d=0;
/* unos broja elemenata, uz proveru */
do
{
printf("Unesi broj elementata matrice N:=");
scanf( "%d", &n );
} while ( n < 1 || n > MAX_DIMENZIJA );
printf("\nUnesi elemente matrice MAGKV[%d,%d]: \n", n, n );
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
printf("MAGKV[%d,%d]: ",i+1,j+1);
scanf( "%d",&magkv[i][j] );
}
/* ispis i racunanje */
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
/* ispis */
printf( "\t%d", magkv[i][j] );
/* sume vrsta i kolona */
suma_vrsta[i] += magkv[i][j];
suma_kolona[i] += magkv[j][i];
/* saberi elemente pomocne dijagonale */
if ( i+j == n-1 )
suma_pomocne_d += magkv[i][j];
}
/* saberi elemente glavne dijagonale */
suma_glavne_d += magkv[i][i];
/* novi red, radi ispisa */
printf("\n");
}
/* sume vrsta */
printf("\nSume vrsta:\n");
for ( i=0; i<n; i++ )
printf("\t%d", suma_vrsta[i] );
printf("\n");
/* sume kolona */
printf("\nSume kolona:\n");
for ( i=0; i<n; i++ )
printf("\t%d", suma_kolona[i] );
printf("\n");
/* suma glavne dijagonale */
printf("\nSuma glavne dijagonale: %d\n", suma_glavne_d );
/* suma pomocne dijagonale */
printf("\nSuma pomocne dijagonale: %d\n", suma_pomocne_d );
/* OVDE TVOJ KOD ZA PROVERU */
return 0;
}