• Non ci sono risultati.

10. ESERCIZI ancora funzioni e procedure ricorsive su array

N/A
N/A
Protected

Academic year: 2021

Condividi "10. ESERCIZI ancora funzioni e procedure ricorsive su array"

Copied!
1
0
0

Testo completo

(1)

10. ESERCIZI ancora funzioni e procedure ricorsive su array

Gli esercizi hanno lo scopo di esercitarsi nell’utilizzo dei i costrutti del linguaggio visti a lezione, nella fattispecie:

i tipi int e float con le operazioni aritmetiche, le dichiarazioni di variabili, l’assegnamento, le funzioni printf e scanf e le costanti, le istruzioni condizionali e gli iteratori, gli array a una o pi`u dimensioni, i puntatori, le funzioni e le procedure (Eccetto specifici casi in cui qualche costrutto `e esplicitamente vietato). Si raccomanda allo studente di non usare costrutti non ancora spiegati perch`e lesercizio perderebbe il suo scopo pedagogico. `E anche vietato usare funzioni di libreria non esplicitamente richiamate nel testo.

Nelle descrizioni delle funzioni, la specifica dei parametri non `e esaustiva, ulteriori parametri possono essere aggiunti se necessario. Tutti gli esercizi che richiedono la scrittura di funzioni devono essere completati con un programma principale che permetta di verificare la correttezza della funzione.

ESERCIZIO 10.1

Si definisca in C una funzione ricorsiva che dato un array di interi, costituito da un numero dispari di elementi, calcola true se la somma degli elementi equidistanti dall’elemento mediano `e uguale all’elemento mediano. Ad esempio: se l’array contiene:

3 0 7 4 8 4 1 8 5

la funzione calcola true, essendo l’elemento mediano 8 (in posizione 4) e le coppie (3,5), (0,8) (7,1) e (4,4) hanno come somma 8.

ESERCIZIO 10.2

5 Si definisca in C una funzione ricorsivA che dato un array e 2 valori m e n diversi del tipo degli elementi dell’array calcola true se ogni occorrenza di m nella array `e immediatamente preceduta da un’occorrenza di n.

ESERCIZIO 10,3

Si definisca in C una funzione ricorsiva che dato un array di interi e due valori m ed n calcola true se la somma degli elementi che seguono la prima occorrenza di m nell’array risulta esattamente uguale a n. Ad esempio: se l’array contiene:

3 0 7 4 8 4 1 8 5

m = 8 e n = 18 la funzione calcola true..

ESERCIZIO 10.4

Si definisca in C un funzione ricorsiva con un parametro A array di tipo array di interi che calcola true se l’array contiene almeno un elemento che verifica la seguente condizione: A[i] = A[i+1]−A[i−1] e restituisce nel parametro i (passato per indirizzo) la posizione del primo elemento in A che verifica tale condizione.

ESERCIZIO 10.5

Scrivere una procedura ricorsiva che dato un array di interi, stampi ogni intero positivo dell’array e ogni intero negativo solo se e’ preceduto da un intero positivo.

ESERCIZIO 10.6

Si scriva una funzione ricorsiva che dato un array di caratteri conta gli elementi che sono seguiti da almeno 2 occorrenze dello stesso carattere. Ad esempio, se l’array passato alla funzione `e quello riportato di seguito, la funzione calcola 3, (i caratteri ’a’, ’b’ e ’;’ verificano la condizione sopra).

’a’ ’b’ ’b’ ’b’ ’A’ ’;’ ’.’ ’.’ ’ !’

Riferimenti

Documenti correlati

La funzione controlla che l’array contenga almeno un elemento che verifica la seguente condizione: A[i] = A[i + 1] − A[i − 1] e calcola, se esiste la posizione del primo elemento in

Si scriva in C una procedura ricorsiva, con un parametro A di tipo array di interi, che modifica A spostando a sinistra (shift) di una posizione tutti gli elementi, eccetto il primo

Prima di chiamare la free sull'array chiamarla su ogni

– Soluzione: si passa alla funzione un ulteriore parametro di tipo array, che viene “riempito” con il risultato.. E i parametri di

● Se gli estremi degli scaglioni e/o le percentuali cambiano, devo cambiare solo l'array e non il programma che fa la ricerca!.. Algoritmi su

Quindi main individua, chiamando un’altra funzione, la colonna di A avente il massimo numero di elementi dispari (se ce ne sono più di una, si prende la prima incontrata)..

¨  L’espressione a[i] restituisce il valore della variabile con indice i, quindi il tipo di questa espressione è il tipo base dell'array. Accesso agli elementi di

• Un costruttore che consente di definire una nuova TabellaVoti; il costruttore deve prendere in ingresso un array di stringhe che definisce la sequenza dei nomi degli studenti,