[ Eastwood @ 12.09.2008. 11:47 ] @
Pozdrav.Evo ovako imam problema u rjesavanja jednog zadacica u C-u,a ne znam kome da se obratim posto tek ucim C.evo mog neuspjelog pokusaja. Molim svakoga ko zna da mi pomogne.Hvala u naprijed.

Zadat je niz od n tačaka (n<40) preko nizova svojih koordinata
X = {x1,...,xn} Y = {y1,...,yn}
Napisati C program koji računa prosečno rastojanje tačaka od koordinatnog početka.

Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

float brojtac;
int x[40],y[40];
float s;
int i;
main()
{
 i=0;
 while(i<40)
 {
  scanf("%d,%d",&x[i],&y[i]);
 }
 i=0;
 while(i<40)
 {
  printf("udaljenost tacke je:\n%d",i);
 }
 s=sqrt(x[i]*x[i]+y[i]*y[i]);
 printf("%l\n",s);
}


[Ovu poruku je menjao Eastwood dana 12.09.2008. u 18:57 GMT+1]

EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to:

[code]
int main ( int argc, char *argv[] )
{
// ...
return 0;
}
[/code]


[Ovu poruku je menjao X Files dana 13.09.2008. u 19:36 GMT+1]
[ StefanJer91 @ 12.09.2008. 19:32 ] @
Cini mi se da nerazumes kako funkcionisu nizovi a ni petlje. Pravilno uradjen zadatak izgleda ovako:

Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int x[40],y[40];
int i;
float mx, my, s;

int main()
{
    i=0;
    while(i<40)

    {
    scanf("%d,%d",&x[i],&y[i]);
    i++;
    }

    i=0;
    mx = 0.0f;
    my = 0.0f;

    while(i<40)
    {
        mx += x[i];
        my += y[i];
        i++;
    }
    mx/=40.0;
    my/=40.0;

    s=sqrt(mx*mx+my*my);
    printf("%l\n",s);
    return 0;


P.S. Ovo je takodje u slucaju da uvek oces da uneses 40 tacaka, ako hoces da moze manje potrebno je uneti i neke izmene
[ Burgos @ 12.09.2008. 19:46 ] @
Neću ti uraditi ceo zadatak, ali evo par stvari na koje treba da obratiš pažnju.


Hint 1:

Code:
i=0;
    while(i<40)
    {
        scanf("%d,%d",&x,&y);
    }


Vrednost promenljive i je uvek 0;

Hint 2: Koristi for petlju

Hint 3:
Code:
while(i<40)
    {
        printf("udaljenost tacke je:\n%d",i);
    }


Pogledaj Hint 1, pa mi potom kaži šta je zapravo udaljenost tačke u gorenavedenom skupu naredbi?

Hint 4: Knjigu u šake pa uči nizove dok ne shvatiš šta je pogrešno u svemu ovom (ne brini, neće ti biti potrebno mnogo vremena).

Code:

int x[40],y[40];
scanf("%d,%d",&x,&y);
s=sqrt(x*x+y*y);
[ Eastwood @ 13.09.2008. 17:02 ] @
Hvala drugari puno ste mi pomogli...znam da ce biti potrebno jos mnogo rada da se dodje do nekih rezultata ali nadam se da cu istrajati.pozz
[ Eastwood @ 14.09.2008. 16:45 ] @
EDIT: X Files : Eastwood, molim te jos jednom da zbog preglednosti, kod upisujes između tag-ova predviđenih za to:

[code]
int main ( int argc, char *argv[] )
{
// ...
return 0;
}
[/code]

Problem je i u tome sto "indeks od i" bude protumacen kao italic, pa se kod pogresno dekodira.



Uspio sam da uradim ovaj zadatak (konacno!!!)...Stefane pokusao sam kompajlirati tvoj kood ali je imao gresku...EVO RESENJA!!! ;-) hvala u svakom slucaju
Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int x[40],y[40];
float udaljenost[40];
int i,brojtac;

int main()
{
    printf ("Unesite za koliko tacaka zelite da ispitate udaljenost: ");
    scanf ("%d",&brojtac);
    i=0;
    while(i<brojtac)
    {
        printf ("\n Unesite X koordinatu tacke N[%d]:",i+1);
        scanf("%d",&x[i]);
        printf ("\n Unesite Y koordinatu tacke N[%d]:",i+1 );
        scanf("%d",&y[i]);
        i++;
              }
    i=0;
    while (i<brojtac)
   {
        udaljenost[i]=sqrt(x[i]*x[i]+y[i]*y[i]);
        printf ("\n Udaljenost tacke N%d od koordinatnog pocetka je: %3.1f",i+1,udaljenost[i]);
        i++;
   }
   printf ("\n=================================\n");
   system ("pause");
}
[ Eastwood @ 14.09.2008. 16:53 ] @
ok sorry! nece se ponoviti ;-)