Răspuns :
#include <stdio.h>
#include <stdlib.h>
typedef struct Interval {
int x;
int y;
} Interval;
int intersectie(Interval* solutie, Interval* intervale, int numar_intervale) {
(*solutie).x = intervale[0].x;
(*solutie).y = intervale[0].y;
for (int i = 1; i < numar_intervale; i++) {
if (intervale[i].x > (*solutie).x) {
(*solutie).x = intervale[i].x;
}
if (intervale[i].y < (*solutie).y) {
(*solutie).y = intervale[i].y;
}
}
if ((*solutie).x > (*solutie).y) {
return -1;
}
return 0;
}
int main() {
int numar_intervale;
Interval* intervale;
Interval solutie;
// Citesc numarul de intervale
printf("Dati numarul de intervale:\n");
scanf("%d", &numar_intervale);
// Aloc memorie pentru intervale
intervale = (Interval*) malloc(sizeof(Interval) * numar_intervale);
// Citesc toate intervalele
for (int i = 0; i < numar_intervale; i++) {
printf("Dati intervalul cu numarul %d:\n", i + 1);
scanf("%d %d", &intervale[i].x, &intervale[i].y);
}
// Calculez solutia, daca exista
if (intersectie(&solutie, intervale, numar_intervale)) {
printf("Nu exista interval\n");
} else {
printf("Intervalul este: %d %d.\n", solutie.x, solutie.y);
}
// Eliberez memoria
free(intervale);
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile v-au fost de ajutor. Dacă aveți întrebări suplimentare sau aveți nevoie de asistență, nu ezitați să ne contactați. Revenirea dumneavoastră ne-ar onora, așa că nu uitați să ne adăugați la favorite!