Informatică, întrebare adresată de andreeabeno, 8 ani în urmă

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ăspunsuri la întrebare

Răspuns de boiustef
3

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!


andreeabeno: Îți mulțumesc enorm de mult!!!
boiustef: cpl
Alte întrebări interesante