50 likes | 302 Views
Introduzione al C Esercitazione 5. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR. D. Bloisi , A. Pennisi, S. Peluso , S. Salza. Esercizio 1.
E N D
Introduzione al CEsercitazione 5 Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR D. Bloisi, A. Pennisi, S. Peluso, S. Salza
Esercizio 1 Scrivere una funzione in linguaggio C denominata trova_carattere che, presa in ingresso una stringa se un intero i, restituisca il carattere di indice i in s. La funzione deve restituire 0 nel caso in cui s sia NULL oppure l’indice i sia minore di 0 o maggiore della lunghezza di s. Stringa s = “ciao” trova_carattere(s,2) -> a Stringa s = “osso” trova_carattere(s,3)-> o Stringa s = “a” trova_carattere(s,1) -> 0 Stringa s = NULL trova_carattere(s,1) -> 0 Esercitazione 4
Esercizio2 • Scrivere una funzione in linguaggio C denominata diag_sec che, prese in ingresso una matrice M (matrice quadrata NxN di dimensioni 5x5) e un vettore S (di dimensione N), modifichi opportunamente S inserendovi gli elementi della diagonale secondaria di M. • Scrivere, inoltre, una funzione mainche: • legga la matrice M da file (supporre che tutti i dati in ingresso siano di tipo int e corretti). • Stampi a video la il valore di S dopo aver eseguito diag_sec(M, S). Esercitazione 4
Esercizio 3 /* 1*/#include <stdio.h> /* 2*/intmain() { /* 3*/ float a = 2; /* 4*/ inti, c = (int)a; /* 5*/ float b = 1.01f; /* 6*/ printf("%f\n", a); /* 7*/ for(i = 0; i < (int)b; i++){ /* 8*/ if(i == 1) continue; /* 9*/ c *= -1; /*10*/} /*11*/ printf("%d\n", c); /*12*/ printf("%d\n", i); /*13*/ if(c < 0) c++; /*14*/ printf("%d\n", i); /*15*/ printf("%d\n", c); /*16*/} 1. L’istruzione alla riga 2 produce perdita di informazione 2. La riga 6 stampa 2.000000 3. La riga 11 stampa -2 4. La riga 12 stampa 15 5. La riga 14 stampa 1 6. La riga 15 stampa 0 7. L’istruzione return 0 viene aggiunta in automatico come ultima istruzione del main Esercitazione 4
Esercizio 4 /* 1*/#include <stdio.h> /* 2*/#include <string.h> /* 3*/ /* 4*/int main() { /* 5*/ char c[80] = "rossi"; /* 6*/ char* d = "po"; /* 7*/ printf("%d\n", strlen(d)); /* 8*/ char* e = c; /* 9*/ *(e+1) = 'a'; /*10*/ printf("%s\n", c); /*11*/ printf("%d\n", strlen(e)); /*12*/ *(++e) = 'o'; /*13*/ printf("%d\n", strlen(e)); /*14*/ printf("%s\n", c); /*15*/ *(++e) = '\0'; /*16*/ strcat(c, d); /*17*/ printf("%s\n", c); /*18*/ printf("%c\n", *(++e)); /*19*/} • La riga 7 stampa 2 • La riga 10 stampa possi • 3. La riga 11 stampa 5 • 4. La riga 13 stampa 3 • 5. La riga 14 stampa bossi • 6. La riga 17 stampa rospo • 7. La riga 18 stampa o Esercitazione 4