Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Le liste dinamiche La ricorsione
Esercizi Le liste dinamiche La ricorsione
2
Le liste dinamiche
3
Le liste dinamiche #include <stdio.h> #include <stdlib.h>
struct Elem { int dato; struct Elem *prox; }; typedef struct Elem ElementoLista; typedef ElementoLista *Lista; Lista inserisciInLista (Lista lista, int dato); void scriviLista (Lista lista); Lista cancellaLista (Lista lista);
4
Le liste dinamiche Lista laMiaLista = NULL; void main() {
unsigned int num, i; int d; printf ("Quanti dati? "); scanf ("%u", &num); for (i = 0; i < num; i++) printf ("Dato: "); scanf ("%d", &d); laMiaLista=inserisciInLista(laMiaLista,d); } scriviLista (laMiaLista); laMiaLista = cancellaLista (laMiaLista);
5
Le liste dinamiche Lista inserisciInLista (Lista lista, int dato) {
Lista nuovoElem; nuovoElem=(Lista)malloc(sizeof(ElementoLista)); nuovoElem->dato = dato; nuovoElem->prox = lista; return nuovoElem; }
6
Le liste dinamiche void scriviLista (Lista lista) { Lista cursore;
cursore = lista; while (cursore != NULL) printf ("%d\n", cursore->dato); cursore = cursore->prox; } printf ("Fine\n");
7
Le liste dinamiche Lista cancellaLista (Lista lista) {
Lista temp, cursore; cursore = lista; while (cursore != NULL) temp = cursore->prox; free (cursore); cursore = temp; } return cursore;
8
Fattoriale L’utente inserisce alcuni numeri naturali e l’elaboratore ne calcola il fattoriale Ricordiamo che i fattoriale è definito come: n! = sse n = 0 n! = n·(n – 1)! sse n > 0 Usiamo la definizione Algoritmo ricorsivo
9
Fattoriale #include <stdio.h> long int fatt (unsigned int n);
void main() { unsigned int n, j, max; printf ("Quanti numeri?: "); scanf ("%u", &max); for (j = 1; j <= max; j++) { printf ("Introduci numero naturale: "); scanf ("%u", &n); printf ("Fattoriale: %lu\n", fatt (n)); }
10
Fattoriale long int fatt (unsigned int n) { long int tot; if (n == 0)
} else tot = n * fatt (n – 1); return tot;
11
Fattoriale n=0 tot=1 n=1 tot=n*1 n=2 tot=n*1 3 n=3 tot=n*2 6
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.