Università Degli Studi Sannio Ding: Benevento
Università Degli Studi Sannio Ding: Benevento
Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 5 Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 6
Array in C: Indice
funzione di accesso Assegnamento degli elementi di un array
• Trovare il valore minimo tra gli elementi di un array di • Descrizione del metodo di elaborazione:
interi, con cardinalità 50, ed indicarne la posizione • È indicato il numero di quanti elementi si vogliono
• Definizione dei dati del problema: inserire: tale numero deve essere minore della cardinalità
dell’array
• I: il riempimento; il valore di ciascun elemento
• Si legge il valore di ciascun elemento da immettere
• Pi: il numero degli elementi da inserire non può essere
maggiore della cardinalità dell’array • Si pone pari al minimo il primo elemento dell’array
• U: la posizione dell’elemento con valore minimo • Si verifica se ciascun altro elemento dell’array è inferiore
al minimo fissato; in tal caso, si aggiorna il valore del
• Pu: nessuna minimo e della posizione in cui esso si trova nell’array
• Si stampa il valore minimo e la posizione in cui esso si
trova
Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 21 Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 22
Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 23 Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 24
05/12/2018
… … un'altra soluzione
………………………………….. …………………………………
trovato=0; POS=0; I=0; POS=0;
do { I=0;
if (VET[I] == VAL) { while ((I < riemp) && (VET[I] != VAL)) I++;
trovato=1; POS=I; if (I < riemp) {
}
POS=I;
I++;
} while ((I < riemp) && (trovato != 1));
printf ("Valore immesso %d in posizione %d\n", VAL, POS);
if (trovato == 1) }
printf ("Valore immesso %d in posizione %d\n", VAL, POS); else
else printf("Il valore indicato %d non esiste nello array\n", VAL);
printf("Il valore indicato %d non esiste nello array\n", VAL); }
}
Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 27 Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 28
05/12/2018
/* Tabelline dall’1 al 10 */ • Gli array non sono inizializzati a zero: all’atto della loro
main( ) { definizione contengono valori indefiniti
int tabelline[10][10]; • È possibile inizializzare esplicitamente un array
racchiudendo i valori tra parentesi graffe e
int i, j;
separandoli da virgole; in questo caso non è
for (i = 0 ; i < 10 ; i++) necessario specificare la dimensione dell’array
for(j = 0 ; j < 10 ; j++) • Per gli array multidimensionali è invece necessario
tabelline[i][j] = (i + 1) * (j + 1); specificare tutte le dimensioni meno la prima
}
Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 31 Franco FRATTOLILLO – Dipartimento di Ingegneria – Università degli Studi del Sannio Corso di "Programmazione I" – Corso di Laurea in Ingegneria Informatica / ExAT 32
05/12/2018
Esempio Esempio
/* Stampa i caratteri e la codifica ASCII */ /* Legge una stringa in input di max 100 caratteri*/
main( ) {
char stringa[ ] = { 'a', 'A', 'H', 'k' , '\0'}; char linea[101];
int c, i;
main( ) { for (i=0; (i<100) && ((c=getchar( )) != ‘\n’); i++)
int i = 0; linea[i] = c;
while ( stringa[i] != ‘\0’ ) { linea[i] = ‘\0’;
printf ( “%c = %d\n”, stringa[i], stringa[i] ); i = 0;
++i; while (linea[i] != ‘\0’)
} printf(“%c”, linea[i++]);
}
}
Esempi Esempio
Costanti stringa
• Una costante stringa è una sequenza di uno o più caratteri
racchiusi da doppi apici (“”)
• il compilatore aggiunge un carattere NULL (‘\0’) alla fine di
ogni stringa
• costanti stringa separate da spazi/ritorni a capo sono
concatenate
• il carattere " (doppio apice) in una stringa va preceduto da \