👤

1. Într-un vector cu înregistrări se păstrează atributele a n segmente din plan. Atributele
segmentului sunt punctele de la extremitățile lui (precizate prin coordonatele lor) şi
lungimea segmentului. Să se afişeze segmentul (prin coordonatele punctelor din
extremități) care are lungimea cea mai mare şi segmentul care are lungimea cea mai
mică. Dacă există mai multe segmente care îndeplinesc aceste proprietăți, să se
afişeze toate segmentele.

Vă rog am nevoie urgent de ajutor!​


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

struct sgm{

   int a,b,len;

};

int main()

{

   int n;

   cin >> n;

   sgm vs[n];

   cin >> vs[0].a >> vs[0].b >> vs[0].len;

   int a_min=vs[0].a, b_min=vs[0].b, len_min=vs[0].len;

   int a_max=vs[0].a, b_max=vs[0].b, len_max=vs[0].len;

   for (int i=1; i<n; i++) {

       cin >> vs[i].a >> vs[i].b >> vs[i].len;

       if (vs[i].len<len_min) {

           len_min=vs[i].len; a_min=vs[i].a; b_min=vs[i].b;

       }

       if (vs[i].len>len_max) {

           len_max=vs[i].len; a_max=vs[i].a; b_max=vs[i].b;

       }

   }

   cout << "Segmente de lungimi minime: ";

   for (int i=0; i<n; i++) {

       if (vs[i].len==len_min) {

           cout << "[" << vs[i].a << ";" << vs[i].b << "];  ";

       }

   }

   cout << endl;

   cout << "Segmente de lungimi maxime: ";

   for (int i=0; i<n; i++) {

       if (vs[i].len==len_max) {

           cout << "[" << vs[i].a << ";" << vs[i].b << "];  ";

       }

   }

   return 0;

}

Explicație:

Sper că am intuit corect cerința din enunț... Succese!

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite!


Ze Learnings: Alte intrebari