PDA

View Full Version : Consiglio Problemi di programmazione


FreedomX80
12-12-2006, 20:35
Ciao a tutti,

già una volta ho postato per conto di un mio amico per quanto riguarda consigli su problemi di programmazione e i vostri aiuti sono stati molto preziosi.

ancora una volta però c'è bisogno di consigli



Esercizio 1

Scrivere una funzione C avente i seguenti parametri di ingresso:

· un array di interi A[N] e la sua lunghezza corrente n (numero di elementi validi);

· un array B[M][2] di interi e la sua lunghezza corrente m .



La funzione deve verificare che ciascuna coppia che si può formare con gli elementi di A compaia in almeno una riga di B (in qualsiasi ordine) e restituire il valore di verità corrispondente. Esempio, nel caso in cui A (di n=3 elementi validi) e B (di m=6 righe valide) fossero quelli indicati:



A

1

6

2

--

--

--



B

1


3

2


1

1


6

3


2

3


6

2


6



la funzione dovrà restituire il valore vero in quanto le coppie (1,6), (1,2) e (6,2) compaiono come righe di B (rispettivamente nelle righe di indici 2, 1 e 5).

Inoltre scrivere un main di prova per la funzione in cui i dati devono essere letti da video e l’output deve essere prodotto su file. Stabilire il formato dei dati scritti sul file.







Esercizio 2



Una stringa s è detta palindroma se letta sia da sinistra verso destra che da destra verso sinistra risulta uguale, come per esempio:



“ABCBA” “ 123343321” “otto”



Scrivere un programma C che riceva come input una stringa e stampa in output se la stringa è palindroma. Il programma inoltre deve ignorare gli spazi e non deve far distinzione fra maiuscole e minuscole durante il processo di verifica. Ad esempio le seguenti stringhe devono essere considerate palindrome:



“Anna” “ott o” “1233 4 3321”

Esercizio 3



Scrivere un programma in C che riceva in input un insieme di parole (stringhe, possibilmente lette da un file di testo) e produca in output (possibilmente su file) le parole di input ordinate. Esempio:



Input: “Oggi è proprio una bella giornata. Quasi quasi vado al mare.”



Output:

al

bella

è

giornata

mare

Oggi

proprio

Quasi

quasi

una

vado


Per l’ordinamento utilizzare l’algoritmo di Merge Sort (versione ricorsiva) ovviamente modificato per operare su array di puntatori a char anziché su array di int. Inoltre, lo spazio da allocare in memoria per memorizzare le parole lette da file deve essere dinamico, ovvero bisogna contare prima le parole e poi allocare lo spazio necessario.

Di nuovo vi ringrazio anticipatamente...

Saluti