======= Es 1 ======= #include #define TRUE 1 #define FALSE 0 int incluso(int a, int b, int x); main() { int sx, dx, val; printf("Inserisci gli estremi dell'intervallo:\n"); printf("> "); scanf("%d", &sx); printf("> "); scanf("%d", &dx); printf("Inserisci un intero: "); scanf("%d", &val); if (incluso(sx, dx, val)) printf("%d e' compreso nell'intervallo [%d,%d].\n", val, sx, dx); else printf("%d non e' compreso nell'intervallo [%d,%d].\n", val, sx, dx); } int incluso(int a, int b, int x) { if (a <= x && x <= b) return TRUE; else return FALSE; } ======= Es 2 ======= #include double polinomio(double a, double b, double c, double x); main() { double a, b, c, x; printf("Inserisci i dati:\n"); printf("a: "); scanf("%lf", &a); printf("b: "); scanf("%lf", &b); printf("c: "); scanf("%lf", &c); printf("x: "); scanf("%lf", &x); printf("Risultato: %.3f\n", polinomio(a, b, c, x)); } double polinomio(double a, double b, double c, double x) { return a*x*x + b*x + c; } ======= Es 3 ======= #include #define TRUE 1 #define FALSE 0 int soluzioniReali(double a, double b, double c); main() { double a, b, c, x1, x2; printf("Inserisci i coefficienti dell'equazione:\n"); printf("a: "); scanf("%lf", &a); printf("b: "); scanf("%lf", &b); printf("c: "); scanf("%lf", &c); if (soluzioniReali(a, b, c)) printf("L'equazione ha soluzioni reali.\n"); else printf("L'equazione non ha soluzioni reali.\n"); } int soluzioniReali(double a, double b, double c) { double delta; delta = b*b - 4*a*c; if (delta >= 0) return TRUE; else return FALSE; } ======= Es 4 ======= #include char successivo(char c); main() { char c; printf("Inserisci un carattere: "); c = getchar(); printf("Il carattere successivo a %c e' %c.\n", c, successivo(c)); } char successivo(char c) { return c + 1; } ======= Es 5 ======= #include #define n 3 #define m 3 main() { int a[n], b[m], prodotto[n][m]; int i, j; printf("Inserisci gli elementi del primo array\n"); for (i = 0; i < n; i++) { printf("> "); scanf("%d",&a[i]); } printf("Inserisci gli elementi del secondo array\n"); for (j = 0; j < m; j++) { printf("> "); scanf("%d",&b[j]); } printf("Prodotto vettore: \n"); for (i = 0; i < n; i++) { for(j = 0; j < m; j++) { prodotto[i][j] = a[i] * b[j]; printf("%d\t", prodotto[i][j]); } printf("\n"); } } ======= Es 6 ======= #include #define n 3 #define TRUE 1 #define FALSE 0 main() { int quadrato[n][n]; int i, j, sommaM = 0, somma; int magica = TRUE; printf("Inserisci gli elementi della matrice\n"); for (i = 0; i < n; i++) { printf("Riga %d: \n", i); for(j = 0; j < n; j++) { printf("> "); scanf("%d",&quadrato[i][j]); } } for(j = 0; j < n; j++) sommaM = sommaM + quadrato[0][j]; // controllo somma righe i = 1; while(magica && i < n) { somma = 0; for(j = 0; j < n; j++) somma = somma + quadrato[i][j]; if(somma == sommaM) i++; else magica = FALSE; } //controllo somma colonne if (magica) { j = 0; while(magica && j < n) { somma = 0; for(i = 0; i < n; i++) somma = somma + quadrato[i][j]; if(somma == sommaM) j++; else magica = FALSE; } } //controllo somma diagonali if (magica) { somma = 0; for(i = 0; i < n; i++) somma = somma + quadrato[i][i]; if(somma == sommaM) { somma = 0; for(i = 0; i < n; i++) somma = somma + quadrato[i][n-1-i]; if(somma != sommaM) magica = FALSE; } else magica = FALSE; } if(magica) printf("La matrice e' un quadrato magico!\n"); else printf("La matrice non e' un quadrato magico!\n"); } ======= Es 7 ======= #include #define n 91 main() { int i, num; int inserito[n] = {0}; for(i = 0; i < 20; i++) { do { printf("Inserire un numero intero compreso tra 10 e 100 > "); scanf("%d", &num); } while(10 > num || num > 100); if (inserito[num-10]) printf("Questo numero e' gia' stato inserito.\n"); else { printf("Hai inserito il numero %d.\n", num); inserito[num-10] = 1; } } } ======= Es 8 ======= #include #define n 10 #define FALSE 0 #define TRUE 1 main() { int i, ctr; int ordinato = TRUE; int array[n]; printf("Inserisci gli elementi dell'array:\n"); for (i = 0; i < n; i++) { printf("> "); scanf("%d", &array[i]); } i = 0; while(ordinato && i < n - 1) if (array[i] > array[i+1]) ordinato = FALSE; else i++; if (ordinato) { ctr = 1; for (i = 1; i < n; i++) if (array[i-1] != array[i] ) ctr++; printf("Il numero di elementi distinti e' %d.\n", ctr); } else printf("L'array non e' ordinato.\n"); } ======= Es 9 ======= #include #define n 50 #define SPAZIO ' ' main() { int i; char array[n]; printf("Inserisci una sequenza di 50 caratteri:"); for (i = 0; i < n; i++ ) array[i] = getchar(); for (i = 0; i < n; i++ ) { if (!((array[i] >= 'a' && array[i] <= 'z') || (array[i] >= 'A' && array[i] <= 'Z') || (array[i] >= '0' && array[i] <= '9'))) array[i] = SPAZIO; } printf("Sequenza modificata: "); for (i = 0; i < n; i++) putchar(array[i]); printf("\n"); } ======= Es 10 ======= #include #define n 10 #define FALSE 0 #define TRUE 1 main() { int i, j; int array[n], val; int pos = -1; int centro; printf("Inserisci gli elementi dell'array:\n"); for (i = 0; i < n; i++) { printf("> "); scanf("%d", &array[i]); while (i > 0 && array[i] < array[i-1]) { printf("Devi inserire un elemento >= %d.\n> ", array[i-1]); scanf("%d", &array[i]); } } printf("Inserisci l'elemento da cercare nell'array: "); scanf("%d", &val); i = 0; j = n - 1; while (pos == -1 && i <= j) { centro = (i + j) / 2; if (array[centro] == val) pos = centro; else if (array[centro] > val) j = centro - 1; else i = centro + 1; } if (pos == -1) printf("L'array non contiene l'elemento cercato.\n"); else printf("L'array contiene l'elemento cercato in posizione %d.\n", pos); } ======= Es 11 ======= #include #define n 50 #define SPAZIO ' ' #define TRUE 1 #define FALSE 0 main() { int i; int num_cifre = 0; int num_numeri = 0; char array[n]; int in_num = FALSE; printf("Inserisci una sequenza di 50 caratteri:"); for (i = 0; i < n; i++ ) array[i] = getchar(); for (i = 0; i < n; i++ ) { if (array[i] < '0' || array[i] > '9') { array[i] = SPAZIO; if(num_cifre != 0 && in_num) { num_numeri++; in_num = FALSE; } } else { num_cifre++; in_num = TRUE; } } if (in_num) num_numeri++; printf("Sequenza modificata: "); for(i = 0; i < n; i++) putchar(array[i]); printf("\nLa sequenza contiene %d cifre e %d numeri.\n", num_cifre, num_numeri); } ======= Es 12 ======= Con array --------- #include #define n 10 #define TRUE 1 #define FALSE 0 main() { int array[n]; int trovato = FALSE; int manca = TRUE; int candidato, i; printf("Inserisci gli elementi dell'array:\n"); for (i = 0; i < n; i++ ) { printf("> "); scanf("%d", &array[i]); } candidato = 0; while (!trovato && candidato <= n) { i = 0; manca = TRUE; while (manca && i < n) { if (array[i] == candidato) manca = FALSE; else i++; } if (manca) { printf("L'elemento mancante e': %d\n", candidato); trovato = TRUE; } else candidato++; } } senza array: ------------- #include main() { int n = 10, elemento_mancante, somma, somma_sequenza, elemento, i; somma = n * (n + 1) / 2; somma_sequenza = 0; printf("Inserisci gli elementi della sequenza:\n"); for (i = 0; i < n; i++ ) { printf("> "); scanf("%d", &elemento); somma_sequenza += elemento; } elemento_mancante = somma - somma_sequenza; printf("L'elemento mancante e': %d\n", elemento_mancante); }