Array Un array è una collezione in sequenza di variabili del medesimo tipo Riferimento con un nome comune Nome_studente1 Nome_studente2. Nome_studenteN.

Slides:



Advertisements
Presentazioni simili
C++ Di Marco Cozzani.
Advertisements

I tipi Strutturati.
LINGUAGGIO DI PROGRAMMAZIONE C
Gli Algoritmi di ordinamento
INFORMATICA Algoritmi fondamentali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array, matrici Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Nel C non esiste un dato primario di tipo stringa; queste sono rappresentate con un array monodimensionale di caratteri (tipo char). Così per definire.
String c++.
Dati strutturati A. Ferrari.
Stringhe di caratteri In linguaggio C.
Algoritmi notevoli.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità G1 Dati strutturati.
Ripasso R1 Dati strutturati.
Algoritmi notevoli In linguaggio C.
Array (vettori) In linguaggio C / C++.
Numeri casuali.
Introduzione ad Array e Funzioni 2IC/2ID – a. s.2012/13.
Generazione di numeri casuali in Dev C++
Universita di Camerino
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Le funzioni.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Process synchronization
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Esercitazione 3 (5 dicembre 2008)
e array a più dimensioni
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Ordinamento di una lista: bubble-sort
Argomenti della lezione
Funzioni di Libreria per le stringhe DICHIARAZIONI CONTENUTE NEL FILE: char *strcpy( char *dest, const char *sorg ); Copia sorg in dest, incluso il carattere.
Array Struttura numerate di dati. Memorizzare molti dati In informatica cè spesso bisogno di memorizzare ed elaborare un insieme costituito da molti dati.
Approfondimento delle classi
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
Politecnico di Milano Esercizi Stringhe Ricerca binaria.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Le funzioni.
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
Problema dell’ordinamento di un array: Il metodo Bubble Sort.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XII Le funzioni Programmazione di Calcolatori: le funzioni 1.
Programmazione di Calcolatori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Ricerca sequenziale in un array di interi
1 Esempi domande di esame. 2 Dato il seguente programma #include int main(){ int *p,j=9,i=5; p=&j; *p=i; printf("%d %d %d\n", i,j,*p); scanf("%d",p);/*
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Introduzione al C Esercitazione 5 D. Bloisi, A.
s STRINGHE DI CARATTERI a p e \0
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Puntatori e Stringhe.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Operatori di incremento e decremento
ALLOCAZIONE STATICA: LIMITI Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente –la loro esistenza deve essere prevista e.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 14 Marzo 204.
Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.
Stringhe Una stringa è un vettore di char con un carattere costante \0 che indica la fine della stringa il terminatore rende differenti gli array di char.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 28 Ottobre 2014.
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro.
Files in C++ Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera)
Transcript della presentazione:

Array Un array è una collezione in sequenza di variabili del medesimo tipo Riferimento con un nome comune Nome_studente1 Nome_studente2. Nome_studenteN Studenti Nome_studente1 Nome_studente2 … … … Nome_studenteN Approccio 1: N variabili Approccio 2: 1 variabile

Array ad una dimensione Un array monodimensionale viene dichiarato come: data_type nome[dimensione]; Es: Un array di 5 numeri interi viene dichiarato: int prova[5]; num1num2num3num4num5 prova :

Accesso agli elementi E possibile accedere ad un singolo elemento di un array tramite un indice, che descrive la posizione dellelemento nellarray Gli indici in C++ partono da 0 num4 prova : prova[0] num3num5num2num1 prova[1]prova[2]prova[3]prova[4]

Inizializzazione (1) Per inizializzare una array devo fornire una lista di valori: int prova[5]={1, 87, 14, 27, 22 }; 27 prova : prova[0] prova[1]prova[2]prova[3]prova[4]

Inizializzazione (1) Posso lasciare al compilatore il compito di determinare la dimensione di un array int prova[]={1, 87, 14, 27, 22 }; 27 prova : prova[0] prova[1]prova[2]prova[3]prova[4]

Array a due e più dimensioni Posso definire array a più dimensioni allo stesso modo di quelli a 1. La posizione di un elemento è identificato da un indice per ogni dimensione Int array2D[3][4]

Array a due e più dimensioni int array2D[3][4]={ {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, }; Indice

Ordinamento: bubble-sort Lidea è di far galleggiare il minimo dellarray nelle prima posizione Riduco la parte di array da considerare, escludendo le prime posizioni già ordinate

Ordinamento: bubble-sort 27 prova[0] prova[1]prova[2]prova[3]prova[4] Passo 1: parto dalla fine dellarray e scambio il valore di due elementi se quello con lindice più alto è minore dellaltro. 22 prova[0] prova[1]prova[2]prova[3]prova[4] 22 prova[0] prova[1] prova[2] prova[3] prova[4]

Ordinamento: bubble-sort 22 prova[0] prova[1]prova[2]prova[3]prova[4] Passo 2: riduco larray da considerare per lordinamento e ripeto il passo 1 22 prova[0] prova[1]prova[2]prova[3]prova[4] 87 prova[0] prova[1] prova[2] prova[3] prova[4]

// Bubble sort #include using namespace std; int main() { int nums[10]; int a,b,t,size; size=10; // Inizializza larray for(t=0; t<size; t++) nums[t] = rand(); // Ordinamento for(a=1; a<size; a++) for(b=size-1; b>=a; b--) { if (nums[b-1] > nums[b]) { t = nums[b-1]; nums[b-1] = nums[b]; nums[b] = t; } return 0; }

Limiti ed overflow Attenzione: in C++ non cè alcun controllo sulla dimensione dellarray! int prova[10]; int elemento; elemento=prova[21]; prova[100]=5; Posso scrivere senza generare errori cose come:

Stringhe Le stringhe sono array di caratteri, con un terminatore NULL (\0) alla fine. La dimensione di un array stringa deve essere di un elemento più lungo rispetto al numero di caratteri della stringa, per contenere il terminatore char str[11]; // è una stringa di 10 caratteri char str1=Questa è una stringa;

Lettura di una stringa da tastiera

Manipolazione di stringhe strcpy(orig,dest); copia la stringa orig nella stringa dest strcat(s1,s2); aggiunge la stringa s2 alla fine di s1 strcmp(s1,s2); confronta due stringhe e restituisce 0 se sono uguali strlen(s); restituisce la lunghezza della stringa s

Manipolazione di stringhe NOTA BENE: Quando si utilizzano le funzioni: strcpy, strcat, strcmp, strlen bisogna fare attenzione alle dimensioni!

Esercizio 1 Costruire una funzione che restituisca la lunghezza di una stringa senza utilizzare strlen()

Esercizio 2 Creare due funzioni che calcolino: perimetro di un triangolo dati i lati area di un triangolo dati base e altezza Utilizzarle allinterno di un programma main()