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
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