I puntatori e l allocazione dinamica di memoria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I puntatori e l allocazione dinamica di memoria"

Transcript

1 I puntatori e l allocazione dinamica di memoria Vettore = puntatore Vettore come parametro a funzione Puntatori e stringhe Vettori di puntatori Politecnico di Torino 1

2 Vettore = puntatore Data una variabile di tipo vettore Es. int dati[100]; Il nome della variabile corrisponde al puntatore al primo elemento del vettore stesso dati equivale a &<dati>[0] *dati equivale a <dati>[0] Politecnico di Torino 2

3 Puntatore al primo dato &dati[0] = dati 35 dati[0] dati[7] 5 I-esimo dato dati dati+7 dati 35 *dati *(dati+7) Politecnico di Torino 3

4 Esempio 1 v int dati[100], *v; v = dati; for (i=0;i<100;i++) scanf( %d,v+i); dati dati[0] dati[7] 7 Esempio 1 dati = &dati[0] v int dati[100], *v; v = dati; for (i=0;i<100;i++) scanf( %d,v+i); dati dati[0] dati[7] Politecnico di Torino 4

5 Esempio 1 v dati dati = &dati[0] int dati[100], *v; v = dati; for (i=0;i<100;i++) scanf( %d,v+i); v+i = &v[i] dati[0] dati[7] 9 Esempio 2 v dati dati[0] int dati[100], *v, i; v = &dati[3]; for (i=0;i<97;i++) scanf( %d,&v[i]); for (i=0;i<97;i++) printf( %d,v[i]); dati[7] Politecnico di Torino 5

6 Esempio 2 (variante) v dati dati[0] int dati[100], *v, i; v = dati+3; for (i=0;i<97;i++) scanf( %d,v++); v = dati+3; for (i=0;i<97;i++) printf( %d,*v++); dati[7] Politecnico di Torino 6

7 Parametro formale vettore Ad un parametro formale vettore può corrispondere un parametro attuale puntatore Consente di generare un vettore (per una funzione) da un sotto-vettore, oppure da un puntatore (a memoria contigua) void ordinaint(int v[], int n); int dati[100]; for (i=0;i<100;i+=10) ordinaint(&dati[i],10); 13 Parametro formale vettore Ad un parametro In formale un parametro vettore formale può vettore corrispondere un (monodimensionale) parametro attuale èpuntatore possibile Consente di generare omettere un la vettore dimensione (per una del vettore funzione) da un sotto-vettore, oppure da un puntatore (a memoria contigua) void ordinaint(int v[], int n); int dati[100]; for (i=0;i<100;i+=10) ordinaint(&dati[i],10); Politecnico di Torino 7

8 Parametro formale vettore Ad un parametro formale vettore può corrispondere un parametro attuale puntatore Consente di generare un vettore (per una funzione) da un sotto-vettore, oppure da un Ordinamento applicato a puntatore (a memoria contigua) sotto-vettori di 10 elementi void ordinaint(int v[], int n); int dati[100]; for (i=0;i<100;i+=10) ordinaint(&dati[i],10); 15 Parametro formale puntatore Ad un parametro formale puntatore può corrispondere un parametro attuale vettore Il puntatore, a sua volta, può essere trattato internamente come vettore (purchè punti a dati contigui in memoria) void leggiint(int *p, int n); int dati[100]; leggiint(dati,100); Politecnico di Torino 8

9 Stringa come vettore Una stringa è (formalmente) un vettore di caratteri (terminato da \0 ) int strlenmia (char s[]) int cnt; for (cnt=0;s[cnt]!= \0 ;cnt++); return cnt; Politecnico di Torino 9

10 Stringa come puntatore Una stringa (vettore) può essere rappresentata (e manipolata) mediante puntatori int strlenmia (char *s) int cnt=0; while (*s++!= \0 ) cnt++; return cnt; 19 Stringa e aritmetica dei puntatori La lunghezza di una stringa può essere calcolata mediante aritmetica dei puntatori int strlenmia (char *s) char *p=s; while (*p!= \0 ) p++; return p-s; Politecnico di Torino 10

11 Esempio 1: confronto tra stringhe Date due stringhe, confrontarne i contenuti, ritornando: 0 se le stringhe sono uguali <0 se la prima stringa precede la seconda >0 se la prima stringa segue la seconda Se le stringhe differiscono si ritorna la differenza tra i codici dei primi caratteri diversi 21 Confronto tra stringhe (vettori) Strategia: Iterazione confrontare i caratteri sino alla prima differenza, oppure al terminatore di stringa Si ritorna la differenza tra i caratteri diversi (o i terminatori) int strcmpmia (char s0[], char s1[]) int i=0; while (s0[i]==s1[i] && s0[i]!= \0 ) i++; return (s1[i]-s0[i]); Politecnico di Torino 11

12 Confronto tra stringhe (puntatori) Stessa strategia ma iterazione con avanzamento dei puntatori int strcmpmia (char *s0, char *s1) while ((*s0==*s1) && (*s0!= \0 )) s0++; s1++; return (*s1-*s0); 23 Confronto tra stringhe con limite (vettori) Strategia: Come strcmpmia, ma il confronto si limita ai primi n caratteri int strncmpmia (char *s0, char *s1, int n) int i=0; while (s0[i]==s1[i] && s0[i]!= \0 ) if (i<n) i++; else return 0; return (s1[i]-s0[i]); Politecnico di Torino 12

13 Esempio 2: ricerca di sottostringa Date due stringhe, cercare la prima occorrenza della seconda stringa all interno della prima, ritornando un puntatore: NULL se non viene trovata la seconda stringa all interno della prima Al primo carattere della sottostringa trovata 25 Ricerca di sottostringa Strategia: Iterazione che, per l i-esimo carattere della prima stringa, determina se si tratta dell inizio della sotto-stringa cercata (usando strncmpmia) int strstrmia (char s[], char cerca[]) int i,ns=strlen(s),nc=strlen(cerca); for (i=0; i<=ns-nc; i++) if (strncmpmia(&s[i],cerca,nc)==0) return (&s[i]); return (NULL); Politecnico di Torino 13

14 Vettore di puntatori = matrice Siccome un puntatore può corrispondere ad un vettore Allora un vettore di puntatori può corrispondere a un vettore di vettori (una matrice) Esempio: Dato un vettore di 7 puntatori a carattere Inizializzarlo con puntatori alle stringhe che rappresentano i giorni della settimana Stampare l i-esimo carattere di tutti i nomi di giorni (i letto da tastiera, con valori ammessi da 1 a 6) Politecnico di Torino 14

15 Esempio: vettore di stringhe void main (void) int i,g; char *giorni[7]= lunedì, martedì, mercoledì, giovedì, venerdì, sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); 29 Esempio: vettore di stringhe Vettore di puntatori a char void main (void) int i,g; char *giorni[7]= lunedì, martedì, mercoledì, giovedì, venerdì, sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); Politecnico di Torino 15

16 void main (void) int i,g; Esempio: vettore di stringhe Inizializzazione con puntatori a stringhe (costanti) char *giorni[7]= lunedì, martedì, mercoledì, giovedì, venerdì, sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); 31 Esempio: vettore di stringhe void main (void) int i,g; giorni[g]: stringa di ordine g char *giorni[7]= lunedì, martedì, mercoledì, giovedì, venerdì, sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); Politecnico di Torino 16

17 Esempio: vettore di stringhe void main (void) int i,g; (giorni[g])[i]: i-esimo char *giorni[7]= lunedì, martedì, mercoledì, giovedì, venerdì, carattere della stringa di ordine g sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); 33 Esempio: vettore di stringhe void main (void) int i,g; giorni[g][i]: vettore di stringhe char *giorni[7]= lunedì, martedì, utilizzato come matrice di caratteri mercoledì, giovedì, venerdì, sabato, domenica ; printf( quale carattere (1-6)? ); scanf( %d,&i); for (g=0; g<7; g++) printf( %c, giorni[g][i]); Politecnico di Torino 17

18 Vettore di stringhe Un vettore di stringhe può essere realizzato come Matrice di caratteri: vettore bidimensionale (righe, colonne). Le righe hanno tutte la stessa lunghezza (vanno sovradimensionate sulla stringa più lunga) Vettore di puntatori a stringhe: ogni elemento del vettore punta a una stringa distinta. Le stringhe possono avere lunghezze diverse Con entrambi i metodi si può utilizzare la notazione matriciale 35 Esempio: ordinamento di stringhe Leggere da tastiera delle stringhe: Al massimo 20 stringhe Ognuna al massimo di 50 caratteri La somma delle lunghezze delle stringhe è <= 500 L input termina con una stringa vuota Ordinare le stringhe in ordine crescente (secondo strcmp) Visualizzarle (secondo l ordine precedente) su video Politecnico di Torino 18

19 Ordinamento di stringhe (con matrice) void main (void) int i,ns; char m[20][50]; printf( scrivi stringhe:\n ); for (ns=0; ns<20; ns++) gets(m[ns]); if (strlen(m[ns])==0) break; ordinamatrice(m,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, m[i]); 37 Ordinamento di stringhe (con matrice) void main (void) int i,ns; char m[20][50]; printf( scrivi stringhe:\n ); for (ns=0; ns<20; ns++) gets(m[ns]); 50 colonne if (strlen(m[ns])==0) break; ordinamatrice(m,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, m[i]); 20 righe Politecnico di Torino 19

20 Ordinamento di stringhe (con matrice) void main (void) int i,ns; char m[20][50]; printf( scrivi stringhe:\n ); for (ns=0; ns<20; ns++) gets(m[ns]); if (strlen(m[ns])==0) break; ordinamatrice(m,ns); m[ns] = &(m[ns][0]) printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, m[i]); 39 Ordinamento di stringhe (con matrice) void main (void) int i,ns; char m[20][50]; printf( scrivi stringhe:\n ); for (ns=0; ns<20; ns++) gets(m[ns]); if (strlen(m[ns])==0) break; ordinamatrice(m,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, m[i]); Politecnico di Torino 20

21 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) break; i = i+strlen(v[ns])+1; ordinavettore(v,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, v[i]); 41 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) buf(520 break; char) i = i+strlen(v[ns])+1; ordinavettore(v,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, v[i]); V(20 punt.) Politecnico di Torino 21

22 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) break; i = i+strlen(v[ns])+1; ordinavettore(v,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, v[i]); 43 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) break; i = i+strlen(v[ns])+1; ordinavettore(v,ns); buf+i = &buf[i] printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, v[i]); Politecnico di Torino 22

23 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) break; i = i+strlen(v[ns])+1; ordinavettore(v,ns); printf( stringhe Avanza ordinate:\n ); buf saltando stringa for (i=0; i<ns; corrente i++) più terminatore ( \0 ) printf( %s\n, v[i]); 45 Ordinamento di stringhe (con vettore) void main (void) int i,ns; char *v[20], buf[520]; printf( scrivi stringhe:\n ); for (ns=i=0; ns<20; ns++) v[ns]=buf+i; gets(v[ns]); if (strlen(v[ns])==0) break; i = i+strlen(v[ns])+1; ordinavettore(v,ns); printf( stringhe ordinate:\n ); for (i=0; i<ns; i++) printf( %s\n, v[i]); Politecnico di Torino 23

24 Confronto tra le soluzioni Matrice di caratteri 20 righe: massimo numero di stringhe 50 colonne: massima lunghezza di stringa 20*50 = 1000 caratteri: dimensione matrice Vettore di puntatori a stringhe 20 puntatori: dimensione vettore di puntatori 520 caratteri: dimensione di caratteri contenente le stringhe (500 caratteri per le stringhe + 20 terminatori) 47 Confronto tra le soluzioni Matrice di caratteri 20 righe: massimo numero di stringhe 50 colonne: massima lunghezza di stringa 20*50 = 1000 caratteri: dimensione matrice Vettore di puntatori a stringhe 20 puntatori: dimensione vettore di puntatori 520 caratteri: dimensione di caratteri contenente le stringhe (500 caratteri per le stringhe + 20 terminatori 20 puntatori caratteri < 1000 caratteri! Politecnico di Torino 24

25 Ordinamento (con matrice) void ordinamatrice (char m[][50], int n) int i, j, min; char tmp[50]; for (i=0; i<n-1; i++) min = i; for (j=i+1; j<n; j++) if (strcmp(m[min],m[j])>0) min = j; strcpy(tmp,m[i]); strcpy(m[i],m[min]); strcpy(m[min].tmp); 49 Ordinamento (con matrice) void ordinamatrice (char m[][50], int n) int i, j, min; char tmp[50]; for (i=0; i<n-1; i++) min = i; for (j=i+1; Con la j<n; matrice j++) di caratteri gli scambi di if (strcmp(m[min],m[j])>0) stringa sono realizzati mediante copia min = j; strcpy(tmp,m[i]); strcpy(m[i],m[min]); strcpy(m[min].tmp); Politecnico di Torino 25

26 Ordinamento (con vettore) void ordinavettore (char *m[20], int n) int i, j, min; char *tmp; for (i=0; i<n-1; i++) min = i; for (j=i+1; j<n; j++) if (strcmp(m[min],m[j])>0) min = j; tmp = m[i]; m[i] = m[min]; m[min] = tmp; 51 Ordinamento (con vettore) void ordinavettore (char *m[20], int n) int i, j, min; char *tmp; for (i=0; i<n-1; i++) min = i; Con il vettore di puntatori gli scambi for (j=i+1; di stringa j<n; j++) sono realizzati mediante if (strcmp(m[min],m[j])>0) scambio di puntatori min = j; tmp = m[i]; m[i] = m[min]; m[min] = tmp; Politecnico di Torino 26

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria Il tipo di dato puntatore Identificare una variabile in C I puntatori come riferimento a dati Definizione e operatori su puntatori 4 Il tipo di dato puntatore

Dettagli

Lezione 12: Allocazione Dinamica della Memoria

Lezione 12: Allocazione Dinamica della Memoria Lezione 12: Allocazione Dinamica della Memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Aprile 2013 Puntatori e vettori Puntatori ed indirizzi Semplificando, la memoria di un computer

Dettagli

Lezione 8: I Puntatori

Lezione 8: I Puntatori Lezione 8: I Puntatori Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Maggio 2012 Esercizi della lezione scorsa Esercizio 3: la calcolatrice 1. Realizzare un insieme di funzioni per gestire

Dettagli

Lezione 8: Stringhe ed array multidimensionali

Lezione 8: Stringhe ed array multidimensionali Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si

Dettagli

Tipi strutturati in C. Stringhe

Tipi strutturati in C. Stringhe Tipi strutturati in C Stringhe Stringhe Una stringa di caratteri in C è un array di caratteri terminato dal carattere \0 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1 caratteri,

Dettagli

Esercitazioni di Programmazione II. Chiara Petrioli

Esercitazioni di Programmazione II. Chiara Petrioli Esercitazioni di Programmazione II Chiara Petrioli Ricevimento e info Martedi dalle 13 alle 14.30 Via Salaria 113, terzo piano, stanza 311 Homework: 3-4 ogni due settimane Primo homework da consegnare

Dettagli

I puntatori e l allocazione dinamica di memoria. Esercizi risolti

I puntatori e l allocazione dinamica di memoria. Esercizi risolti I puntatori e l allocazione dinamica di memoria Esercizi risolti 1 Esercizio Si vuole realizzare un tipo struct, utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0 STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. Stringhe. Stringhe Ricerca binaria Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)

Dettagli

RIPRENDIAMO I PUNTATORI

RIPRENDIAMO I PUNTATORI RIPRENDIAMO I PUNTATORI Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 =&a Esistono in C particolari variabili dette

Dettagli

char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); Stringhe

char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); Stringhe char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); Stringhe Stringhe s char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); c i a o \0 Scrivere un programma che legga da input un array

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici. Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene

Dettagli

Esercitazione 12. Esercizi di Ricapitolazione

Esercitazione 12. Esercizi di Ricapitolazione Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

Lezione 10 Liste. Rossano Venturini. Pagina web del corso.

Lezione 10 Liste. Rossano Venturini. Pagina web del corso. Lezione 10 Liste Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Prova del 18/05/2009 Scrivere un programma che legga

Dettagli

Lezione 8 Liste. Rossano Venturini. Pagina web del corso.

Lezione 8 Liste. Rossano Venturini. Pagina web del corso. Lezione 8 Liste Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Prova del 18/05/2009 Scrivere un programma

Dettagli

STRINGHE: ARRAY DI CARATTERI! a p e \0

STRINGHE: ARRAY DI CARATTERI! a p e \0 STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più

Dettagli

Puntatori e array. Violetta Lonati

Puntatori e array. Violetta Lonati Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria Allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 Allocazione dinamica

Dettagli

Corso Programmazione

Corso Programmazione Corso Programmazione 2011-2012 (docente) Fabio Aiolli E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli Dipartimento di Matematica Pura ed Applicata Torre Archimede, Via Trieste 63 Puntatori,

Dettagli

Tipi di dato STRUTTURATI

Tipi di dato STRUTTURATI Tipi di dato STRUTTURATI I tipi di dato si differenziano in scalari e strutturati In C si possono definire tipi strutturati: array e strutture [ ] (array) Un array è una collezione finita di N variabili

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria Vettori dinamici Matrici dinamiche Liste 2 2006 Politecnico di Torino 1 Vettore dinamico Si dice vettore dinamico un vettore la cui dimensione è nota solo

Dettagli

a = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b;

a = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b; Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 18 novembre 2016 - Prova intermedia NOTA: nel seguito le risposte corrette e le note sono

Dettagli

Stringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10

Stringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10 Stringhe in C Luca Abeni Informatica Luca Abeni 1 / 10 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe

Dettagli

ARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori

ARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

STRINGHE: ARRAY DI CARATTERI STRINGHE: ARRAY DI CARATTERI. a p e \0

STRINGHE: ARRAY DI CARATTERI STRINGHE: ARRAY DI CARATTERI. a p e \0 STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 7 0/11/018 Esercizi sull allocazione dinamica della memoria in C 1. Cosa stampa il seguente programma? 1 #d e f i n e MAXLENGTH 0 4 typedef struct { char

Dettagli

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione

Dettagli

Array. Aggragati di variabili omogenee...

Array. Aggragati di variabili omogenee... Array Aggragati di variabili omogenee... Cosa è un array È un insieme di variabili omogenee identificato da un indice, ad esempio Se devo leggere 1 numeri dallo standard input e memorizzarli all'interno

Dettagli

Linguaggio C. Esercizio 1

Linguaggio C. Esercizio 1 Linguaggio C Esercizi su puntatori e liste Walter Didimo (e-mail:didimo@dia.uniroma3.it) supplemento al Corso di Calcolatori Elettronici (Riccardo Torlone) 1 Esercizio 1 Siano p e q due puntatori a variabili

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

soluzioneluglio.txt 1. Scrivere una funzione che restituisce la data dinascita di un determinato studente.

soluzioneluglio.txt 1. Scrivere una funzione che restituisce la data dinascita di un determinato studente. Testo esercizio: Si supponga di avere a disposizione un vettore contenente l elenco degli alunni iscritti al Politecnico, con la relativa data di nascita. Ogni nome è separato dalla data dal carattere

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio

Dettagli

I Vettori (Array) Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

I Vettori (Array) Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni I Vettori (Array) Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Variabili I tipi di variabili che abbiamo usato finora hanno la caratteristica comune di non essere strutturate: ogni

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 25 Luglio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,-8,-4; int N = 7; int i; Scrivere la porzione di codice che sostituisca

Dettagli

ESERCIZIO: Lettura/Scrittura Array

ESERCIZIO: Lettura/Scrittura Array ESERCIZIO: Lettura/Scrittura Array Non è possibile leggere/scrivere un intero vettore con un unica operazione (a parte il caso particolare delle stringhe); occorre leggere/scrivere ognuno dei suoi componenti

Dettagli

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) { JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int

Dettagli

Operazioni sulle stringhe

Operazioni sulle stringhe Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Stringhe Ricerca binaria Indice 1 Stringhe... 3 1.1 Codice di Cesare...3 1.2 Ricerca binaria...4 1.3 Indirizzi Internet...7 1.4

Dettagli

Introduzione al C Lez. 4

Introduzione al C Lez. 4 Introduzione al C Lez. 4 Allocazione Dinamica della memoria http://www.di.unipi.it/~rossano/algo1/lez4.pdf Allocazione dinamica memoria In C la memoria può essere anche gestita in modo dinamico, attraverso

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

Dettagli

Problem solving elementare su dati vettoriali. Esercizi risolti

Problem solving elementare su dati vettoriali. Esercizi risolti 1 Esercizio: Prodotto di matrici Esercizi risolti Si scriva un programma che, lette da tastiera le dimensioni di due matrici di interi e acquisite le due matrici, ne calcoli la matrice prodotto e la visualizzi.

Dettagli

Informatica (A-K) 14. Linguaggio C -4

Informatica (A-K) 14. Linguaggio C -4 Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Informatica (A-K) 14. Linguaggio C -4 Strutture Dati tipiche

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

L'allocazione dinamica della memoria

L'allocazione dinamica della memoria L'allocazione dinamica della memoria Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino I puntatori Le variabili di tipo puntatore permettono di accedere alla memoria

Dettagli

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo

Dettagli

Programmazione di base

Programmazione di base Fondamenti di Informatica Quinto Appello 016-1 1 Luglio 01 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,

Dettagli

Dati strutturati in C

Dati strutturati in C Dati strutturati in C Fondamenti di Informatica Array Perchè usare gli array? float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto,

Dettagli

Stringhe di caratteri

Stringhe di caratteri Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash

Dettagli

L'allocazione dinamica della memoria

L'allocazione dinamica della memoria L'allocazione dinamica della memoria Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino I puntatori Le variabili di tipo puntatore permettono di accedere alla memoria

Dettagli

Informatica B Esercitazione 5

Informatica B Esercitazione 5 Informatica B Esercitazione 5 17 ottobre 2018 Array, Stringhe e Matrici 5.1 Si scriva un programma C per calcolare la media pesata dei voti di uno studente. Il programma chiede innanzitutto all'utente

Dettagli

Anche se due variabili vettore sono dello stesso tipo, NON è possibile l assegnamento diretto:

Anche se due variabili vettore sono dello stesso tipo, NON è possibile l assegnamento diretto: ESERCIZIO: Lettura/Scrittura Array Non è possibile leggere/scrivere un intero vettore con un unica operazione (a parte il caso particolare delle stringhe); occorre leggere/scrivere ognuno dei suoi componenti

Dettagli

INFORMATICA. Esercizi. Esempio: giorni nell anno. Esempio: giorni nell anno. Esempio: giorni nell anno

INFORMATICA. Esercizi. Esempio: giorni nell anno. Esempio: giorni nell anno. Esempio: giorni nell anno INFORMATICA Esercizi Realizzare un programma che legga da tastiera l anno di riferimento e la sigla del primo giorno di quell anno (1 gennaio) composta dai primi tre caratteri del nome (ad esempio: 2003

Dettagli

Il linguaggio C Puntatori

Il linguaggio C Puntatori Il linguaggio C Puntatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - puntatori 2 Ringraziamenti Questi

Dettagli

Da problema a programma: introduzione al problemsolving

Da problema a programma: introduzione al problemsolving Da problema a programma: introduzione al problemsolving in linguaggio C Capitolo 2: L essenziale del linguaggio C G. Cabodi, P. Camurati, P. Pasini, D. Patti, D. Vendraminetto 2016 1 Il linguaggio C In

Dettagli

Introduzione al C Lez. 4. Allocazione Dinamica della memoria

Introduzione al C Lez. 4. Allocazione Dinamica della memoria Introduzione al C Lez. 4 Allocazione Dinamica della memoria Allocazione dinamica memoria In C la memoria può essere anche gestita in modo dinamico, attraverso l allocazione esplicita di blocchi di memoria

Dettagli

5. Quinta esercitazione autoguidata: liste semplici

5. Quinta esercitazione autoguidata: liste semplici 22 5. Quinta esercitazione autoguidata: liste semplici 5.1. Liste rappresentate mediante strutture e puntatori (LISTE1.C, LISTE2.C) Scrivere un programma che - costruisce una lista di k interi (con k letto

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. La funzione swapint() primo tentativo Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include

Dettagli

Programmazione di base

Programmazione di base Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene

Dettagli

Capitolo 16 Iterazione

Capitolo 16 Iterazione Capitolo 16 Accesso a sequenze I problemi esaminati in questo capitolo hanno lo scopo di accedere ed elaborare delle sequenze sequenze immesse dall utente lette dalla tastiera di lunghezza nota con un

Dettagli

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904] Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica B [079904] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009) Cognome

Dettagli

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica (ICA-LC) [083668]

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica (ICA-LC) [083668] Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica (ICA-LC) [083668] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009)

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi

Dettagli

Linguaggi di programmazione + laboratorio a.a. 2012/2013

Linguaggi di programmazione + laboratorio a.a. 2012/2013 Linguaggi di programmazione + laboratorio a.a. 2012/2013 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a

Dettagli

Fondamenti di Informatica 12. Linguaggio C -4

Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati

Dettagli

int ninv; /* numero di inventario */

int ninv; /* numero di inventario */ 1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

Dettagli

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il

Dettagli

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Linguaggio C 1! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Oggetti dello stesso tipo Identificazione univoca degli oggetti! Il tipo più semplice ha una sola

Dettagli

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono

Dettagli

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin Linguaggio C Vettori, Puntatori e Funzioni Stringhe Università degli Studi di Brescia Prof. Massimiliano Giacomin SCHEMA DELLA LEZIONE RELAZIONE TRA VETTORI E PUNTATORI (e le stringhe letterali come caso

Dettagli

Istruzioni per il trasferimento del controllo: break e continue

Istruzioni per il trasferimento del controllo: break e continue Istruzioni per il trasferimento del controllo: break e continue Istruzione break: L'istruzione break provoca l'uscita immediata dal ciclo (o da un'istruzione switch) in cui è racchiusa. Esempio: fattoriale

Dettagli

Stringhe in C. Emilio Di Giacomo

Stringhe in C. Emilio Di Giacomo Stringhe in C Emilio Di Giacomo Stringhe Una stringa è una sequenza finita di caratteri Le stringhe sono un tipo di dati talmente importante e utile che fanno parte di quasi tutti i linguaggi di programmazione

Dettagli

Liceo B.Russell Classe 2 I VETTORI. ORDINAMENTO DI UN VETTORE: Metodo ingenuo o sequenziale

Liceo B.Russell Classe 2 I VETTORI. ORDINAMENTO DI UN VETTORE: Metodo ingenuo o sequenziale Fondamenti: I VETTORI Riempimento di un vettore con numeri acquisiti da tastiera; Riempimento di un vettore lungo N con i numeri da 0 a N; Riempimento di un vettore lungo N con i numeri da N a 0; Riempimento

Dettagli

Stringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14

Stringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14 Stringhe in C Nicu Sebe Informatica Nicu Sebe 1 / 14 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe

Dettagli

Lezione di Laboratorio di Prgrammazione: /03/2019 a.a. 2018/2019 R.Prevete

Lezione di Laboratorio di Prgrammazione: /03/2019 a.a. 2018/2019 R.Prevete Lezione di Laboratorio di Prgrammazione: 12 19/03/2019 a.a. 2018/2019 R.Prevete Esercizio 1 (lezione 11): soluzione -- Scrivere un programma che prima permetta ad un utente di riempire una matrice di interi

Dettagli

Cicli annidati ed Array multidimensionali

Cicli annidati ed Array multidimensionali Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un

Dettagli

ALGORITMI E STRUTTURE DATI

ALGORITMI E STRUTTURE DATI ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Puntatori e Liste StudentiDIA

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Dettagli

accesso * leggiaccessi(char * nomefile, int * dim);

accesso * leggiaccessi(char * nomefile, int * dim); Fondamenti di Informatica L-A (A.A. precedenti al 2008/2009) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista Prova d Esame di Martedì 22 Dicembre 2009 durata 2h ESERCIZIO 1 (10 punti) Un'azienda

Dettagli

Programmazione di base

Programmazione di base Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,

Dettagli

ARRAY E TYPEDEF. A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C

ARRAY E TYPEDEF. A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C Es typedef ; typedef char stringa[10]; dichiara che il tipo stringa è un array

Dettagli

Stringhe e tipi di dati strutturati

Stringhe e tipi di dati strutturati Stringhe e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 Info sui Labs http://tinyurl.com/ieimlabextra Ricordate di portare un adattatore!

Dettagli

Array e Matrici. Perchè usare gli array?

Array e Matrici. Perchè usare gli array? Array e Matrici Perchè usare gli array? 2 float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto, venditesettembre, venditeottobre,

Dettagli