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:
- ulaz - učitati: x1, y1, x2, y2
- obrada - izračunati: hipo = √((x2 - x1)2 + (y2 - y1)2)
- 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
|
|