[ proka_92 @ 27.05.2009. 20:42 ] @
Napisati program kojim se izaracunava prosecna vrednost elemenata celobrojnog niza. Sa tastature se unosi broj elemenata niza (n) i elementi niza. Odrediti elemenat niza koji je po vrednosti najblizi prosecnoj vrednosti niza.
Za izracunavanje prosecne vrednosti nije problem, ali mi nije jasno kako odredjujem koji je element najblizi prosecnoj vrednosti...? Bilo bi dobro da mi ne napisete kod, nego samo hintove kako to da odradim...
[ Igor Gajic @ 27.05.2009. 20:51 ] @
Uzmes da je prvi element niza trazeni broj, i onda redom proveravas da li je apsolutna vrednost razlike trenutnog broja u nizu i srednje vrednosti manja od apsolutne razlike trenutnog najblizeg i srednje vrednosti. Ako jeste onda je trenutni broj u nizu blizi srednjoj vrednosti i ponavljas dok ne dodjes do kraja niza...
[ proka_92 @ 27.05.2009. 21:07 ] @
A kako radim apsolutnu vrednost?
[ proka_92 @ 27.05.2009. 21:26 ] @
Code:
#include <stdio.h>
main()
{
      int a[10],n,i,s=0,najblizi;
      float p;
      printf("Unesite broj elemenata niza:");
      scanf("%d",&n);
      for(i=0;i<=n-1;i++) {
                          printf("Unesite a[%d]:",i);
                          scanf("%d",&a[i]);
                          }
      printf("Stampanje elemenata niza:");
      for(i=0;i<=n-1;i++)
      printf("\n%d",a[i]);
      for(i=0;i<=n-1;i++)
                          s+=a[i];
      p=s/(n*1.0);
      printf("\nProsecna vrednost elemenata niza je %f!",p);
      najblizi=a[0];
      for(i=1;i<=n-1;i++)
      if((a[i]-p)>(najblizi-p)) // ovde treba apsolutna vrednost da se ubaci valjda...
      najblizi=a[i];
      printf("\nElemenat niza najblizi prosecnoj vrednosti je %d!",najblizi);
getchar();
getchar();
}  

Jel ovo ovako...? Samo ako moze sad neko da mi kaze kako se radi apsolutna vrednost...
[ X Files @ 27.05.2009. 21:40 ] @
Za float/double tipove imas funkciju fabs().
[ Igor Gajic @ 27.05.2009. 22:39 ] @
Code:

int abs (int i)
{
    return i < 0 ? -1*i : i;
}
[ proka_92 @ 28.05.2009. 18:25 ] @
Nisam uspeo da odradim tu apsolutnu vrednost... Ako moze sad da mi neko napise kod i objasni kako i zasto to...? I ako imate neki link u vezi apsolutne vrednosti?
[ Igor Gajic @ 28.05.2009. 20:26 ] @
Dao sam ti kod za apsolutnu vrednost u prethodnom postu, a za detalje pogledaj:

http://mathworld.wolfram.com/AbsoluteValue.html

http://en.wikipedia.org/wiki/Absolute_value
[ proka_92 @ 28.05.2009. 23:23 ] @
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
      int a[10],n,i,s=0,a1,a2,najblizi;
      float p;
      printf("Unesite broj elemenata niza:");
      scanf("%d",&n);
      for(i=0;i<=n-1;i++) {
                          printf("Unesite a[%d]:",i);
                          scanf("%d",&a[i]);
                          }
      printf("Stampanje elemenata niza:");
      for(i=0;i<=n-1;i++)
      printf("\n%d",a[i]);
      for(i=0;i<=n-1;i++)
                         s+=a[i];
      p=s/(n*1.0); 
      printf("\nProsecna vrednost elemenata niza je %f!",p);
      najblizi=a[0];
      printf("%d",najblizi);
      for(i=0;i<=n-1;i++) {
      a1=a[i]-p;
      a1=abs(a1);
      a2=najblizi-p;
      a2=abs(a2); 
      if(a1<a2)
      najblizi=a[i];}
      printf("\nElemenat niza najblizi prosecnoj vrednosti je %d!",najblizi);
      system("pause");
}   

Evo, ovako sam ga napisao i radi, hvala na pomoci...