Determinare gli intervalli

di Anonimizzato27549 il
10 risposte
Ciao non riesco a risolvere questo problema data questa consegna:

Date 2 variabili di tipo struct che codificano un intervallo numerico scrivere
un programma che determina se i 2 intervalli sono sovrapposti.

riuscireste a darmi un mano nel programma?
grazie

10 Risposte

  • Cosa non sai fare? Partiamo da una tua soluzione da correggere
  • Non riesco a capire come sapere se i due insemi sono sovrapposti
  • Si parla di intervalli. Ad esempio 2...40 e 35...80 sono sovrapposti?
  • Ok ma tradotto in codice come si fa!
  • Forza ... fai uno sforzo... qui non si chiede codice pronto. Come scriveresti la struttura? Comincia...
  • #include <stdio.h>
    #include <stdlib.h>

    int main()
    {

    typedef struct intervallo{
    int start;
    int end;
    }
    intervallo_t;
    intervallo_t int1={1,10};
    intervallo_t int2={9,13};

    if(int1=int2){
    printf("i due intervalli sisovrappongono\n");}
    else printf("i due intervallli non si sovrappongono\n");
    return 0;
    }
  • Puo funzionare come programma
  • @fede: ci sono le cose complicate e quelle semplici. QUESTA e' una di quelle MOOLTO semplici.
    La parte di programma e' SECONDARIA: quello che ti si richiede e' di RAGIONARE.
    PRIMA lo devi saper fare con CARTA E MATITA (e righello ) POI converti il tutto in codice.
    Ora, non sapere che cosa sia un intervallo e SE due intervalli si sovvrapongano o no, mi sembra alquanto strano.
    MAI giocato con le costruzioni (i LEGO) ? A battaglia navale? A dama? MAI giocato?
  • "Se int1 assegnato int2 allora sono sovrapposti"
    Direi proprio di no. Intanto l’operatore = che è assegnamento non comparazione (e a quei livelli dovresti saperlo già per bene). Secondo, la logica che ci sta sotto: certo che se due intervalli sono uguali allora sono sovrapposti, ma è un caso speciale e ti si richiede una soluzione generale.
  • No la if intanto si fa con == e non con =
    E poi non devi vedere se sono uguali ma se si sovrappongono. 1..10 e 9..13 si sovrappongono? Da cosa lo vedi?
Devi accedere o registrarti per scrivere nel forum
10 risposte