6.4.. Učitati koordinate dvije tačke M1(x1,y1) i M2(x2, y2) i izračunati udaljenost.

Opis rješenja: Posmatra se trougao koji formiraju tačke M1(x1, y1) i M2(x2, y2), hipotenuza je duž između ovih tačaka. Katete su Δx = x2 - x1 , druga kateta trougla je Δy = y2 - y1 . Na osnovu Pitagorine teoreme hipotenuza se računa: hipotenuza2 = (x2 - x1)2 + (y2 - y1)2 odnosno kvadratni korijen iz sume kvadrata.
I varijanta Izračunava se posebna varijabla kao hipotenuza i izvodi se ispis;
II varijanta koristi funkciju pow() za kvadrat sume kvadrata, funkcija nalazi se u biblioteci math.h i navodi se u zaglavlju: #include <math.h> .

Tekstualni algoritam:

  1. ulaz - učitati: x1, y1, x2, y2
  2. obrada - izračunati: hipo = √((x2 - x1)2 + (y2 - y1)2)
  3. izlaz - ispisati: hipo

N a p o m e n a:
hipo = √((x2 - x1)2 + (y2 - y1)2) je kvadratni korijen ((x2 - x1)2 + (y2 - y1)2).

Listing programa:

// 06412007
#include <stdio.h>
#include <math.h>
int main()
{
      float x1, y1, x2, y2, hipo;                        // deklarisanje varijabli
      printf("Ucitaj koordinate prve tacke x1,y1: ");    // imena varijabli cije vrijednosti se ucitavaju
      scanf("%f%f",&x1,&y1);                             // ucitavanje vrijednosti koordinata prve tacke
      printf("Ucitaj koordinate druge tacke x2,y2: ");   // imena varijabli cije vrijednosti se ucitavaju
      scanf("%f%f",&x2,&y2);                             // ucitavanje vrijednosti koordinata druge tacke
      
      hipo = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)); // rastojanje tacaka
      printf("Udaljenost izmedju tacaka = %.2f\n", hipo);    // ispis vrijednosti
      return 0;
}

II varijanta
// 06412007
#include <stdio.h>
#include <math.h>
int main()
{
      float x1, y1, x2,y2, hipo;                         // deklarisanje varijabli
      printf("Ucitaj koordinate prve tacke x1,y1: ");    // imena varijabli cije vrijednosti se ucitavaju
      scanf("%f%f",&x1,&y1);                             // ucitavanje vrijednosti koordinata prve tacke
      printf("Ucitaj koordinate druge tacke x2,y2: ");   // imena varijabli cije vrijednosti se ucitavaju
      scanf("%f%f",&x2,&y2);                             // ucitavanje vrijednosti koordinata druge tacke
      
      hipo = pow(( (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)  ), 0.5); // rastojanje tacaka
      printf("Udaljenost izmedju tacaka = %.2f\n", hipo);    // ispis vrijednosti
      return 0;
}

Ispis na ekranu:

Index