Programmazione C Massimo Callisto De Donato
|
|
- Costanzo Agostini
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it LEZIONE 5 ARRAY & STRINGHE A.A. 2011/12
2 Array Un array (vettore) rappresenta una collezione di dati dello stesso tipo identificati da indici progressivi che identificano la posizione. Gli array sono 0-index ovvero da 0.. N 1. E.s: per N=6 implica un intervallo di indici in [0.. 5] Se si esce fuori dal limite il comportamento non è prevedibile. Sintassi: tipo nome_variabile[dimensione_max]; Esempio: int a[6];
3 Esempi Inizializzazione tramite dati immessi dall utente int i; for (i = 0; i < 6; i++){ printf( Inserisci un intero: "); scanf( %d", &a[i]); Ricerca del massimo int max = a[0]; for (i = 1; i < 6; i++) if (a[i] > max) max = a[i]; printf( Valore massimo: %d\n", max); Calcolo della media dei valori int somma = 0; float media; for (i = 0; i < 6; i++) somma = somma + a[i]; media = somma / 6; Possiamo anche inizializzare l array nella definizione: int somma[] = {11,22,34,14,35,566;
4 Esempio: n concorrenti N concorrenti. Ogni concorrente sostiene 2 prove. Il punteggio corrisponde alla media aritmetica dei risultati delle due prove. Creare una tabella che mostri: Risultato 1 prova Risultato 2 prova Punteggio finale
5 Esempio: n concorrenti #include <stdio.h> #define MAX CONC 100 // MAX CONCORRENTI main() { /* 3 vettori: 1 e 2 prova e risultati */ float prova1[max CONC], prova2[max CONC], totali[max CONC]; int i, n; /* Inserimento numero concorrenti */ do { printf( Inserire numero concorrenti: "); scanf( %d", &n); while ((n < 1) k (n > MAX CONC)) /* calcolo media dei punteggi */ for (i=0; i < n; i++) totale[i]=(prova1[i] + prova2[i]) /2 ); /* classifica */ for (i=0; i < n; i++) { printf( %f\t, prova1[i]); printf( %f\t, prova2[i]); printf( %f\n, totale[i]); /* Inserimento punteggi */ for (i=0; i < n; i++){ printf( \nconcorrente %d\n", i+1); printf( Risultato prima prova: "); scanf( %f", &prova1[i]); printf( Risultato seconda prova: "); scanf( %f", &prova2[i]); // main Se volessimo stampare l indice(i) del vincitore(i) con relativo punteggio?
6 Esempio: array + switch #include <stdio.h> main(){ char espress[30]; int pg,pq,pt, c; printf("\nespressione algebrica "); gets(espress); pg=pq=pt=0; for(c=0; c<30 && espress[c]!='\0';c++) { switch(espress[c]) { case '{ : case '': pg++; break; case '[': case ']': pq++; break; case '(':; case ')': pt++; break; ; ; printf("\ng = %d\nq = %d\nt = %d",pg, pg, pt);
7 Esempio: somma incrociata Dati due vettori a e b di lunghezza N. Calcolare la somma incrociata degli elementi in un vettore c. Per somma incrociata intendiamo che gli elementi di c sono: (a[0] + b[n-1], a[1] + b[n-2],..., a[n-1] + b[0])
8 Esempio: somma incrociata /* Somma incrociata (a[0] + b[n-1], a[1] + b[n-2],..., a[n-1] + b[0]) */ #define N 6 main () { int a[n], b[n], c[n]; int i, j; for (i=0; i < N; ++i){ // Per a printf("inserisci l'elemento numero %d: ", i+1); scanf("%d", &a[i]); for (i=0; i < N; ++i){ // Per b printf("inserisci l'elemento numero %d: ", i+1); scanf("%d", &b[i]); for (i = 0; i < N; ++i) c[i] = a[i] + b[n - 1 -i]; printf( Vettore c = "); for (i = 0; i < N; ++i) printf("%d\t", c[i]);
9 Array bidimensionali: matrici Array bidimensionale (matrice): righe e colonne. Sintassi: tipo nome array[dimensione RIGHE][DIMENSIONE COLONNE]; E.s.: int matrice[4][3]; Un elemento si identifica con il doppio indice compresi in [0.. r - 1] e [0.. c - 1] (righe colonne). Esempi su array bidimensionali:
10 Array multi-dimensionali Possiamo avere dimensioni arbitrarie: tipo nome_array[dim 1][DIM 2]... [DIM N]; Esempio: memorizzare i ricavi ottenuti dalla vendita di 10 prodotti in 5 punti vendita nei dodici mesi dell anno. int marketing[10][5][12] Ricavi ottenuti dalla vendita del terzo prodotto nel quarto punto vendita nel mese di ottobre: marketing[2][3][10]
11 Esempio: inizializzazione #include <stdio.h> main(){ int mat[4][3]; int i,j; printf( \n\ncaricamento della matrice\n\n"); for(i = 0; i < 4; i++) for(j = 0; j < 3; j++){ printf( El. di riga %d e colonna %d: ", i+1, j+1); scanf( %d", &mat[i][j]); printf( \n\nvisualizzazione matrice\n\n"); for(i = 0; i < 4; i++){ printf( \n ); for(j = 0; j < 3; j++) printf( %d\t", mat[i][j]);
12 Esempio: prodotto matrici Date due matrici mat_1[n][p] e mat_2[p][m], calcolare la matrice prodotto pmat[n][m]. Ogni elemento pmat[i][j] (con i = 1..N e j = 1..M) è definito da:
13 Esempio: prodotto matrici /* prodotto di matrici */ #include <stdio.h> main () { int N = P = 2, M = 3 int mat1[n][p], mat2[p][m]; int pmat[n][m]; int i, j, k, somma; printf("matrice A (%d x %d) \n\n", N, P); for (i=0; i < N; i++) for (j=0; j < P; j++){ printf( Riga %d e colona %d: ", i, j); scanf("%d", &mat1[i][j]); printf("matrice B (%d x %d) \n\n", P, M); for (i=0; i < P; i++) for (j=0; j < M; j++){ printf( Riga %d e colona %d: ", i, j); scanf("%d", &mat2[i][j]); //Calcolo del prodotto for (i=0; i < N; i++) for (j=0; j < M; j++){ somma = 0; for (k=0; k < P; k++){ somma = somma + (mat1[i][k] * mat2[k][j]); pmat[i][j] = somma; //Visualizzazione prodotto // (A e B analogo) printf("\n\nmatrice prodotto\n\n"); for (i=0; i < N; i++){ printf("\n"); for (j=0; j < M; j++) printf("%d ", pmat[i][j]); // chiuso main
14 Altri esercizi 1. Data una matrice mat_1[n][p] calcolare la matrice trasposta mat_2[p][m]. 2. Controllare se una matrice A è a diagonale dominante in senso debole per righe: gli elementi diagonali di A sono in valore assoluto della somma di tutti i restanti elementi della stessa riga (in valore assoluto). 3. Considerare la variante a senso stretto ovvero controllando l uguaglianza >.
15 Le stringhe Si lavora spesso su gruppi di caratteri che nell insieme sono chiamati stringa. In C non c'è un tipo specifico per le stringhe. Esse sono array di caratteri char terminati con il carattere speciale \0 : char str[5]; char str[] = ciao ; La dimensione in memoria degli array nei due casi è uguale.. Perché? Il carattere nullo \0 serve al compilatore per capire dove finisce la stringa. str C I A O \0
16 Le stringhe Modi equivalenti di dichiarare una stringa: char str[] = ciao ; char str[] = { c, i, a, o, \0 Vale anche questo ma non si dovrebbe fare: char str[] = { c, i, a, o ; Chiaro ora che A è diverso da A!
17 Le stringhe La quantità di memoria occupato dell array che contiene la stringa viene fissata all inizio ed è non modificabile. char str[] = ciao ; char str[] = { c, i, a, o, \0 char str[5]; str[0] = c ; str[1] = i ; str[2] = a ; str[3] = o ; str[4] = \0 ;
18 Esempio si riempimento #include <stdio.h> main() { char c1[100]; char c2[] = {'p','i','p', 'p', 'o', '\0'; c1[0] = 'c'; c1[1] = 'a'; c1[2] = 's'; c1[3] = 'a'; c1[4] = 'm'; c1[5] = 'i'; c1[6] = 'a'; printf("lunghezza di 'c1': %d, di 'c2': %d\n", strlen(c1), strlen(c2)); c1[0] = 'c'; c1[1] = 'a'; c1[2] = 's'; printf("lunghezza di 'c1': %d, di 'c2': %d\n", strlen(c1), strlen(c2)); c1[0] = 'c'; c1[1] = 'a'; c1[2] = 's'; c1[3] = '\0'; printf("lunghezza di 'c1': %d, di 'c2': %d\n", strlen(c1), strlen(c2)); return 0;
19 Le stringhe Le stringhe non sono un tipo di dato primitivo. Non sono supportate le operazioni dirette come: Copia? Concatenazione? Comparazione? Soluzione: ce le facciamo a mano usiamo le funzioni di libreria (se esistono) Esercizio: come facciamo a contare gli spazi contenuti in una stringa? I caratteri \n?
20 Stringhe: copia e concatenazione #include <stdio.h> #define LEN 100 main () { int i, j; char c, s1[len], s2[len]; do{ printf( Cosa vuoi fare? [0-copia,1-concatena] ) c=getchar(); while(c!= 0 or 1 ); /* immissione stringhe */ printf("inserisci le due stringhe separate da uno spazio\n"); scanf("%s %s", s1, s2); switch(c){ case 0 : for (i=0; (s1[i]=s2[i])!= '\0'; i++); break; case 1 : for (i=0; s1[i]!='\0'; i++); for (j=0; (s1[i]=s2[j])!='\0'; j++, i++); break; printf( S1: %s\ns2: %s", s1, s2); // C è qualche problema potenziale su LEN?
21 Stringhe: comparazione #include <stdio.h> #define LEN 100 main () { int i, flag; char s1[len], s2[len]; /* immissione stringhe */ printf("inserisci le due stringhe separate da spazio\n"); scanf("%s %s", s1, s2); i=0;flag = 0; while ((s1[i]!='\0') && (s2[i]!= '\0')){ if(s1[i]!= s2[i]){ flag = (s1[i] < s2[i])? -1: 1; break; i++; if (flag == -1) printf("%s e' minore di %s\n", s1, s2); else if (flag == 1) printf("%s e' maggiore di %s\n", s1, s2); /* se flag=0, allora o entrambe le stringhe sono arrivate a '\0', oppure qualcuna è arrivata prima dell'altra. */ else if (!flag){ if ( (s1[i] == '\0') && (s2[i] == '\0') ) printf("le due stringhe %s e %s sono uguali\n", s1, s2); else if (s1[i] == '\0') printf("%s e' minore di %s\n", s1, s2); else printf("%s e' maggiore di %s\n", s1, s2); // Il controllo è case-sensitive Per farne uno non case-sensitive?
22 Le stringhe palindrome Facciamo un programma che controlla se due stringhe sono palindrome. se, messa al contrario, si legge come l originale.
23 Stringhe: palindrome #include<stdio.h> #define LEN 100 main () { char stringa[len]; int i, j; int len, palindroma = 1; printf("inserisci una frase: "); scanf("%s", stringa); for(i=0; stringa[i]!= '\0'; i++){ len = i; i--; j = 0; while(palindroma && (j < (len/2))){ if (stringa[i]!= stringa[j]) palindroma = 0; j++; i--; if (palindroma) printf("palindroma\n"); else printf("non palindroma\n");
24 Stringhe e tabella ASCII Tutti gli esempi visti sono case-sensitive. Possiamo usare la tabella ASCII per creare programmi non-case-sensitive. Osservazione: tutte le lettere alfabetiche MAIUSCOLE sono comprese tra 65 ( A ) e 90( Z ), distanziate dal valore 32 dalla rispettiva versione minuscola ( a.. z ). Anche i numeri hanno un intervallo specifico
25 Stringhe e tabella ASCII
26 Stringhe: esercizi Come possiamo cambiare il programma per le stringhe palindrome affinché Anna sia uguale ad anna? Come si può fare per convertire una stringa in maiuscola? Fare un programma calcolatrice che usi solo getchar() e realizzi le 4 operazioni fondamentali.
27 Stringhe: esercizi string.h: contiene delle funzioni standard che consentono di manipolare le stringhe. Alcune sono molto simili a quelle viste finora. Funzioni principali di string.h strcpy(str1, str2) copia str2 in str1 strlen(str1) ritorna la lunghezza di str1 strncpy(str1, str2, n) copia i primi n caratteri di str2 in str1 strcat(str1, str2) concatena str2 a str1 strcmp(str1, str2) confronta str1 con str2, restituisce zero se le due stringhe sono uguali, un valore negativo se str1 è minore di str2, un valore positivo altrimenti Queste di seguito in stdlib.h atoi(str) e atof(str)convertono str in un intero e in un decimale rispettivamente Guardate il resto su Open Group
Informatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliLinguaggio C - Array. Array: tipo nome_array[num_elementi]
Linguaggio C - Array Array: Gli array o vettori sono delle strutture dati in grado di contenere un insieme di valori tutti dello stesso tipo. Un array lo possiamo immaginare come un contenitore suddiviso
DettagliTutorato Programmazione 1 Modulo 2
Tutorato Programmazione 1 Modulo 2 Matrici e Stringhe Do#. Michele Ciampi Esercizi svol5 con standard C99 Matrici Prendere in input una matrice NxN (controllare che N
DettagliInformatica B
Informatica B 2016-2017 Esercitazione 8 Array e Stringhe Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1: stringhe - vocali consecutive Scrivere un programma che data
DettagliInformatica B
Informatica B 2016-2017 Esercitazione 8 Ripasso sul C con Array, Matrici e Stringhe Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 (a) Quale è l ouput del seguente
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliMultidimensionali. Array Multidimensionali. Tipi di array. Matrice: array bidimensionale. Array multidimensionale. Dichiarazione di una matrice
Tipi di array Array Multidimensionali Antonella Santone Monodimensionali (vettore) Multidimensionali Array multidimensionale Un array multidimensionale è un array, i cui elementi sono a loro volta degli
DettagliStrutture 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
DettagliEsercitazione 8. Array multidimensionali
Esercitazione 8 Array multidimensionali Prodotto di due matrici Una matrice può essere rappresentata in C con un array bidimensionale. Consideriamo il seguente problema: date due matrici mat1[n] [P] mat2[p]
DettagliLinguaggio C: Array Valeria Cardellini
Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione
DettagliArray Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
Dettagliif(vocale == true && stringa[i+1] == stringa[i]){ cont++; printf("la vocale ripetuta e' %c\nil numero di coppie e' %d\n", stringa[i], cont); }
* ESERCIZIO 1: STRINGHE - VOCALI CONSECUTIVE * Tratto da: sofiaceppi.com/?page_id=226 * scrivere un programma che data una stringa di lunghezza massima 100 * stampi le occorrenze di coppie di vocali identiche
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono uno dei
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliConcetti chiave. Gli Array o Vettori. Array Elementi dell array Indici e lunghezza dell array Inizializzazione di vettori Array multidimensionali
Concetti chiave Gli Array o Vettori Array Elementi dell array Indici e lunghezza dell array Inizializzazione di vettori Array multidimensionali Fino ad ora abbiamo utilizzato variabili scalari, ossia riferite
DettagliC: 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
DettagliESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;
ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori
DettagliCorso di Informatica 1 (IN110) Tutorato n. 3
Corso di Informatica 1 (IN110) Tutorato n. 3 Marco Liverani Esercizio n. 1 Letti in input tre array di interi con lo stesso numero n di elementi, costruisce un quarto array di numeri floating point con
DettagliEsercitazione 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
DettagliEsercizio 1: parole nel testo
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da
DettagliArray 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,
Dettagliarray: vettori, matrici e stringhe
array: vettori, matrici e stringhe Vettori Un vettore (array) è una sequenza di variabili tutte dello stesso tipo che occupano locazioni di memoria contigue. Dichiarazione di un vettore di oggetti del
DettagliIntroduzione al C Lez. 5. Stringhe
Introduzione al C Lez. 5 Una stringa è una sequenza di caratteri. Ad esempio una parola, una frase, un testo... In C non è previsto un tipo per le stringhe. Una stringa è vista come un array di caratteri
DettagliArray. 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
DettagliCorso di Informatica B - Sezione D. Esercitazioni Linguaggio C
Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Corso di Informatica B - Sezione D Esercitazioni Linguaggio C Esercitazione del 2012-10-11 Davide Chicco davide.chicco@elet.polimi.it
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliCorso di Informatica B - Sezione D. Esercitazioni Linguaggio C
Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Corso di Informatica B - Sezione D Esercitazioni Linguaggio C Esercitazione del 2012-10-11 Davide Chicco davide.chicco@elet.polimi.it
DettagliInformatica 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
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array e stringhe. Marco D. Santambrogio Ver. aggiornata al 28 O0obre 2014
Array e stringhe Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 28 O0obre 2014 Frase insieme di caratteri Che cosa è una frase? Un insieme di caratteri Come la rappresento? Un insieme,
Dettagliint, char, float.. int, char, float.. - char, int, float, double char: int float: double: float int char signed unsigned short int long int double int Pippo; unsigned int Pippo; long int Pippo; long int
Dettaglisoldi soldi, int, char, float.. int, char, float.. - char, int, float, double char: int float: double: float int char signed unsigned short int long int double int Pippo; unsigned int Pippo; long int
Dettagli# include<stdio.h> int main() { // Dichiarazioni int n; int i;
/* CALCOLIAMO I DIVISORI DI UN NUMERO. INSERIAMO UN CONTROLLO CHE IL NUMERO SIA EFFETTIVAMENTE POSITIVO UTILIZZIAMO IL DO...WHILE PER SEMPLIFICARE IL CODICE # include int main() // Dichiarazioni
DettagliInformatica 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)
DettagliUna 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
DettagliCaratteri 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
Dettagli5 Stringhe. Esiste una libreria di C che gestisce le stringhe string.h essa ci permette di:
Le stringhe di caratteri sono gestite in C come dei vettori di char con alla fine un tappo dato dal carattere \0. E possibile acquisire un intera stringa di caratteri in una sola istruzione grazie all
DettagliDati strutturati in C
Dati strutturati in C Fondamenti di Informatica Array Perchè usare gli array? float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto,
DettagliIEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -
IEIM 2017-2018 Esercitazione II Elementi di programmazione C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 4 Dati un numero, stampare il primo numero successivo pari
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliArray. 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
Dettagli1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1,
1: #include 2: #include 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1, numrighe2, numcolonne2,i,j,k, max1,max2, operazione, scalare;
DettagliEsercitazione 8. Array come puntatori. Aritmetica dei puntatori. Array multidimensionali. Ricapitolazione su Ricorsione e Array.
Esercitazione 8 Array come puntatori Aritmetica dei puntatori Array multidimensionali Ricapitolazione su Ricorsione e Array Stringhe Array come puntatori Gli array e i puntatori in C sono strettamente
DettagliCorso di Informatica 1 (IN110) Tutorato n. 4
Corso di Informatica 1 (IN110) Tutorato n. 4 Marco Liverani Esercizio n. 1 Letto in input un array di n numeri interi ed un intero k > 1, eliminare dall array tutti i multipli di k, spostando a sinistra
DettagliESERCIZIO: SHIFT ARRAY (1)
ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza
DettagliRIPRENDIAMO 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
DettagliI cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
DettagliStringhe in C. Alessandra Giordani Lunedì 23 aprile 2012
Stringhe in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 23 aprile 2012 http://disi.unitn.it/~agiordani/ Stringhe Sono particolari array: Ogni elemento del vettore è di tipo char La stringa è terminata
DettagliStringhe 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
DettagliEsercizio 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
Dettaglisoldi soldi, int, char, float char, int, float, double char: int float: double: float int char signed unsigned short int long int double Unità di Elaborazione (CPU) unsigned int Pippo long int Pluto
Dettagliottenere la lunghezza di una stringa con la funzione strlen(stringa); Esercizio 5.1
Le stringhe di caratteri sono gestite in C come dei vettori di char con alla fine un tappo dato dal carattere \0. E possibile acquisire un intera stringa di caratteri in una sola istruzione grazie all
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliStringhe. Concetti chiave
Concetti chiave Stringhe Variabili strutturate: array di caratteri Carattere di fine stringa Copiare, concatenare, confrontare e convertire stringhe Funzioni standard strcpy, strcat, strcat, strcmp, atoi,
DettagliEsempi comparati while, do...while
Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare
DettagliProgetti su più File Array e Funzioni
- DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica LA Corso di laurea in Ingegneria Elettrica - Anno Accademico 2007-2008 Progetti su più File Array e Funzioni ESERCIZIO 1 Scrivere
DettagliIntroduzione al C. Unità 8 Stringhe
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 8 Array di
DettagliStringhe 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!
DettagliFondamenti 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
DettagliIntroduzione al C. Unità 8 Stringhe. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Sommario
DettagliUniversità 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
Dettagli3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliLinguaggio C: Variabili e assegnamento e semplici comandi di I/O
Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma
DettagliStringhe 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
DettagliTipi di dato strutturati: Array
Array Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array
DettagliCaratteri 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
DettagliA. Ferrari. stringhe di caratteri In linguaggio C
stringhe di caratteri In linguaggio C stringhe o un insieme di caratteri in sequenza forma una stringa o alcuni linguaggi definiscono per le stringhe uno specifico tipo di dato e offrono metodi specifici
DettagliUnità 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;
DettagliManualistica 3 Le strutture di controllo
Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di
DettagliOperazioni 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
DettagliLinguaggio 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
DettagliProgrammazione 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
DettagliIstruzioni 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
DettagliI 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
DettagliLezione 7: Funzioni di I/O avanzate
Lezione 7: Funzioni di I/O avanzate Laboratorio di Elementi di Architettura e Sistemi Operativi 27 Marzo 2013 Vettori e stringhe I vettori in C Uno dei tipi non primitivi più usati in C è il vettore (o
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliLezione XI Le stringhe
Programmazione e Laboratorio di Programmazione Lezione XI Le stringhe Programmazione e Laboratorio di Programmazione: Le stringhe 1 Premessa: Il tipo char Dimensione: 1 byte Range: da 0 a 255 Definizione:
DettagliESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;
ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliIntroduzione 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
DettagliIl 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
DettagliLezione 6: Funzioni di I/O avanzate
Lezione 6: Funzioni di I/O avanzate Laboratorio di Elementi di Architettura e Sistemi Operativi 11 Aprile 2012 Funzioni avanzate di I/O Il buffer di tastiera I caratteri digitati da tastiera rimangono
DettagliPuntatori 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
DettagliCicli annidati e matrici di variabili
Linguaggio C Cicli annidati e matrici di variabili 1 Cicli annidati! 2 cicli FOR annidati richiedono 2 differenti variabili contatori! Il contatore del ciclo interno può dipendere dal contatore del ciclo
DettagliSettimana n.9. Obiettivi Stringhe Matrici Vettori di Stringhe
Settimana n.9 Obiettivi Stringhe Matrici Vettori di Stringhe Contenuti Funzioni Vettori multidimensionali Matrice come estensione dei vettori Problem solving su dati testuali 1 Manipolazione
DettagliEsercitazione 3 - Note
Esercitazione 3 - Note Ing. Michele Scandale 18-10-2012 Il materiale illustrato a lezione e in queste note contiene anche esempi di Giacomo Boracchi, Luigi Cardamone, Nicola Basilico e Nicola Vitucci.
DettagliManualistica 3 Le strutture di controllo
Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di
Dettagli20/10/2014 M. Nappi/FIL 1
FIL Lezione 4: Istruzioni Iterative. Michele Nappi mnappi@unisa.it biplab.unisa.it 20/10/2014 M. Nappi/FIL 1 La struttura di Iterazione while Struttura tt di iterazione i Il programmatore specifica un
Dettagli3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante
DettagliOperazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliSTRINGHE: 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ù
DettagliPrimo programma in C
Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file
Dettagli