Răspuns :
#include <iostream>
#include <cmath>
#include <float.h>
#include <fstream>
using namespace std;
//structura pentru coordonate puncte
struct Punct{
double x,y;
} marcaj[20];
//calcul distanta intre doua puncte
double distanta_puncte(Punct p1,Punct p2){
//aplic direct formula geometrica
return sqrt(pow(p2.y-p1.y,2)+pow(p2.x-p1.x,2));
}
//functie care returneaza valoarea minima din sir
double min_vector(double v[],int n){
int i;
//valoare maxima double
double min=10e15;
//trecem prin toate valorile
for(i=0;i<n;i++){
//daca valoare mai mica decat cea existenta minima
if(v[i]<min){
//minimul device acea valoare
min=v[i];
}
}
return min;
}
int main(){
double distanta[1000];
int i,j,nr_puncte,nr_distante=0;
ifstream fip("puncte_intrare.txt");
//citeste fisier nr puncte
fip>>nr_puncte;
//citire coordonate puncte
for(i=0;i<nr_puncte;i++){
fip>>marcaj[i].x>>marcaj[i].y;
}
//trecand prin oate punctele
for(i=0;i<nr_puncte-1;i++){
//trecand prin toate punctele ramase
for(j=i+1;j<nr_puncte;j++){
//calculeaza distanta intre punctul i si punctul j
distanta[nr_distante]=distanta_puncte(marcaj[i],marcaj[j]);
//creste nr de distante
nr_distante++;
}
}
cout<<"\nDistanta minima:"<<min_vector(distanta,nr_distante);
return 0;
}
#include <cmath>
#include <float.h>
#include <fstream>
using namespace std;
//structura pentru coordonate puncte
struct Punct{
double x,y;
} marcaj[20];
//calcul distanta intre doua puncte
double distanta_puncte(Punct p1,Punct p2){
//aplic direct formula geometrica
return sqrt(pow(p2.y-p1.y,2)+pow(p2.x-p1.x,2));
}
//functie care returneaza valoarea minima din sir
double min_vector(double v[],int n){
int i;
//valoare maxima double
double min=10e15;
//trecem prin toate valorile
for(i=0;i<n;i++){
//daca valoare mai mica decat cea existenta minima
if(v[i]<min){
//minimul device acea valoare
min=v[i];
}
}
return min;
}
int main(){
double distanta[1000];
int i,j,nr_puncte,nr_distante=0;
ifstream fip("puncte_intrare.txt");
//citeste fisier nr puncte
fip>>nr_puncte;
//citire coordonate puncte
for(i=0;i<nr_puncte;i++){
fip>>marcaj[i].x>>marcaj[i].y;
}
//trecand prin oate punctele
for(i=0;i<nr_puncte-1;i++){
//trecand prin toate punctele ramase
for(j=i+1;j<nr_puncte;j++){
//calculeaza distanta intre punctul i si punctul j
distanta[nr_distante]=distanta_puncte(marcaj[i],marcaj[j]);
//creste nr de distante
nr_distante++;
}
}
cout<<"\nDistanta minima:"<<min_vector(distanta,nr_distante);
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!