Scrivere una function che restituisce il valore massimo di un vettore.
Obiettivo: Determinare il massimo di un vettore di numeri
Risultato: Il massimo
Dati: Un vettore di numeri
Algoritmo:
Percorro, numero per numero, il vettore in input copiando in una variabile (massimo) il numero esaminato ogniqualvolta risulta maggiore del massimo precedente
Codifica:
float ricercaMassimo( float in[], int n ) {
int i=0;
float massimo;
massimo = in[0];
for(i=0; i<n; i++)
if( in[i] > massimo ) massimo = in[i];
}
return massimo
}
Scrivere una function che estrae da una stringa tutti i numeri, copiandoli in un'altra stringa
Obiettivo: Copiare in una stringa tutti i caratteri numerici, consecutivamente.
Risultato: Una stringa
Dati: Una stringa
Algoritmo:
Percorro, carattere per carattere, la stringa in input copiando nella stringa di ouput tutti i caratteri che vanno bene
Scrivere una function che, avuto in ingresso una stringa, restituisce il numero di caratteri di punteggiatura.
Obiettivo: Contare i simboli di punteggiatura.
Risultato: Un numero
Dati: Una stringa
Algoritmo:
Percorro, carattere per carattere, la stringa in input conteggiando tutti i caratteri che vanno bene
Codifica:
int numeroPunteggiatura( char s[] ) {
int i=0, conta=0;
while( s[i] != '\0' ){
if( punteggiatura( s[i] ) conta++;
i++;
}
return conta;
}
punteggiatura è una function che restituisce 1 se il carattere in input è un simbolo di punteggiatura, 0 altrimenti
int punteggiatura(char);
Scrivere una function che, avuto in input un vettore di numeri ed un valore x, restituisce la posizione dell'ultima occorrenza di x nel vettore.
Obiettivo: Ultima posizione di x nel vettore.
Risultato: Un numero, -1 per non trovato
Dati: Un vettore ed un numero x
Algoritmo:
Percorro, numero per numero, il vettore in input memorizzando la posizione ogniqualvolta il numero x è uguale al valore contenuto nella cella del vettore.
Codifica:
int posizione( float s[], int n, float x ) {
int i=0, p=-1;
for(i=0; i<n; i++)
if( s[i] == x ) p = i;
}
return p;
}
Scrivere una function che, avuto in input un vettore di numeri, restituisce in un altro vettore la somma degli elementi, a due a due.
Obiettivo: Somma a due a due dei numeri contenuti in un vettore
Risultato: Un vettore
Dati: Un vettore
Algoritmo:
Percorro, due a due, il vettore in input memorizzando la somma nel vettore di output
Codifica:
int somma2a2( float in[], int n, float out[] ) { // somma2a2 restituisce il numero di elementi di out
int i=0, k=0;
for(i=0, k=0; i<(n-1); i+=2, k++)
out[k] = in[i] + in[i+1]
}
return k;
}
int data[3];
un vettore contenente una data.
Scrivere una function che avuto in ingresso due date le confronta. con
int data[3];
Obiettivo: Confrontare due date
Risultato:Un numero:
negativo: prima data precede la seconda
uguale a zero: prima data uguale alla seconda
positivo: prima data segue la seconda
Dati: due vettori contenenti le due date, memorizzate come gg,mm, aaaa