stale tan sam wynik

0

Witka zaczynam sobie programować i kombinuje chciałbym napisać program ktory oblicza długość przeciwprostokątnej z 2 punktów podanych na układ wspołrzędnych. mam coś takiego.

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

int main()
{
    int x,y,x1,y1;
    printf("x1="); scanf("%d",&x);
    printf("y1="); scanf("%d",&y);
    printf("x2="); scanf("%d",&x1);
    printf("y2="); scanf("%d",&y1);
    int pomX=0;
    int pomY=0;
    int tmp=0;
    int tmp1=0;
    if (x > x1){
          for(tmp=y; tmp==y1; tmp++){pomY++;}
          for(tmp1=x; tmp1==x1; tmp1++){pomX++;}
          //pomY=abs(pomY);
         // pomX=abs(pomX); 
          }
   /* if (y1 < y){
          for(y; y==y1; y++){pomY++;}
          for(x; x==x1; x--){pomX++;}
          //pomY;//=abs(pomY);
          //pomX;//=abs(pomX);
          } */
    int a = round(sqrt(pow(pomX,2)+ pow(pomY,2)));
    printf("Sie rowna %d" ,&a) ;
getch();
}

i wynik mam stale taki sam nawet nie wiem czemu tak sie moze dziać korzystam z dev cpp a wynik to 2293540 stale ten sam...probowalem nawet żeby wynik był liczbą całkowitą ale nic to nie daje proszę po moc z Góry dziękuję

0
printf("Sie rowna %d" ,&a) ;

Masz &a, więc ci wypisze adres, pod którym jest zmienna a. Aby wypisać wartość tej zmiennej, musisz po prostu walnąć zamiast tego zwykłe "a".

P.S.: Masz kod:

for(tmp=y; tmp==y1; tmp++){pomY++;}

A nie prościej będzie po prostu pomY = y1 - y;

? Na dodatek to, czy y1>y, czy y1<y, nie ma znaczenia, bo przecież zachodzi (a-b)<sup>2 = (b-a)</sup>2 *(tzn. jak podniesiesz dwie liczby przeciwne do kwadratu, otrzymasz przecież dwie identyczne nieujemne liczby)*.
0

Ręce opadają.
Po pierwsze to guzik ci się wyświetla bo wypisujesz ADRES zmiennej a zamiast jej wartość.

printf("Sie rowna %d" ,a);

Po drugie teraz twój program będzie zwracał zawsze 0 o ile nie podasz y=y1 lub x=x1. Co te pętle w ogóle wg ciebie robią? o_O Nie nauczyli cie w podstawówce że da sie zrobić abs(y1-y) i abs(x1-x) żeby uzyskać wspórzędną y'kową i x'ową wektora wyznaczonego przez te punkty?

0

akurat dopiero kończe podstawowke:P

1 użytkowników online, w tym zalogowanych: 0, gości: 1