Sume Stupaca

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

#include <stdio.

h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define N 10

int Naj(int [][N], int, int(*)(int,int));


int Veci(int, int);
int Manji(int, int);

int main()
{
int A[N][N];
int n;

do{
printf("Unesite dimenziju kvadratne matrice: ");
scanf("%d",&n);
if(n>10)
printf("Prevelika dimenzija matrice!\n");
}while(n>10);

for(int i=0; i<n; i++)


{
for(int j=0; j<n; j++)
{
printf("A[%d][%d] = ",i,j);
scanf("%d",&A[i][j]);
}
}

int izbor;
int (*p)(int, int);

do{
printf("Za najmanju sumu stupca odaberite '1', za najvecu '2'.\n");
scanf("%d",&izbor);

if(izbor==1)
{
p = Manji;
printf("Najmanja suma stupca: \n");
}
else if(izbor==2)
{
printf("Najveca suma stupca: \n");
p = Veci;
}
else
printf("Neispravan odabir!\n");

}while(izbor!=1 && izbor!=2);

int StMax=Naj(A,n,p);

float AritGlavne;
float SumGlavne;
for(int i=0; i<n; i++)
SumGlavne+=A[i][i];

AritGlavne=SumGlavne/n;

int MaxSum = 0;
for(int i=0; i<n; i++)
MaxSum+=A[i][StMax];

printf("%d\n",MaxSum);

for(int i=0; i<n; i++)


{
printf("%f ",(float)(A[i][StMax])/AritGlavne);
}

return 0;
}

int Veci(int a, int b)


{
if(b>a)
return 1;
else
return 0;
}

int Manji(int a, int b)


{
if(b<a)
return 1;
else
return 0;
}

int Naj(int A[][N], int n, int (*p)(int, int))


{
int *x,s=0;
x = malloc(n*sizeof(int));

for(int j=0; j<n; j++)


{
s=0;
for(int i=0; i<n; i++)
{
s+=A[i][j];
}
*(x+j)=s;
}

int temp = *x;


int num=0;

for(int i=0; i<n; i++)


{
if(p(temp,*(x+i))==1)
{
temp = *(x+i);
num = i;
}
}
return num;
}

You might also like