STRUTTURE E LISTE

  1. Scrivere una funzione che fa la somma di strutture che rappresentano numeri complessi.

  2. Definire una struttura data che rappresenta una data, contenente tre campi interi che rappresentano giorno, mese, anno. Scrivere una funzione int ConfrontaDate (data d1, data d2) che confronta due date passate come parametro e restituisce:
    • +1 se la prima è più grande
    • 0 se sono uguali
    • -1 se la prima è più piccola

  3. Costruire una lista di elementi che rappresentano punti sull'asse cartesiano, definendo i singoli elementi nel seguente modo:
    typedef struct EL{
        double ascissa;
        double ordinata;
        struct EL *next;	
      } Punto;
     
    
    1. Scrivere una procedura che ne stampi gli elementi.
    2. Scrivere una procedura che aggiunga un nuovo punto all'inizio.
    3. Scrivere una procedura che elimini l'ultimo elemento.

  4. Scrivere una procedura che, data una lista di interi, e un intero x , elimini la seconda occorrenza di x.

  5. Scrivere una funzione che, data una lista di interi, restituisca il puntatore all'elemento che contiene il valore massimo. La funzione deve restituire NULL se la lista è vuota.

  6. Scrivere una funzione che, data due lista di interi, restituisca il puntatore alla lista ottenuta dalla concatenazione delle due liste di partenza.