Fondamenti di Programmazione a.a. 2009-2010 (canale E-O)
Docente: Riccardo Silvestri
Esercitatore: Toni Mancini
Laboratorio di mercoledì 4 novembre 2009
- Scrivere una funzione
void printmatrix(int nr, int nc, float M[nr][nc])
che stampa la matrice M
di nr
righe e nc
colonne. I valori in virgola mobile devono essere stampati ben incolonnati in un campo
di lunghezza 7 e con 2 cifre decimali. Ad esempio, se nr = 3
,
nc = 4
e M = {{1.2, 0.34, 3, 1}, {0.02, 1.2, 45.7, 123},
{23.6, 128.35, 12.9, 2.78}}
allora la funzione stampa la matrice così:
1.20 0.34 3.00 1.00
0.02 1.20 45.70 123.00
23.60 128.35 12.90 2.78
Soluzione: Q.091104-1.printmatrix.c: Q.091104-1.printmatrix.c
- Scrivere una funzione
void summatrix(int n, int A[n][n], int B[n][n])
che
prese in input due matrici nxn
di interi modifica la matrice A
rendendola uguale alla somma delle due matrici (elemento per elemento). Ad esempio,
se n = 3
e
2 4 1 2 1 0
A = 3 5 10 B = 5 5 8
2 7 11 2 3 9
allora la funzione modifica la matrice A
così:
4 5 1
A = 8 10 18
4 10 20
Soluzione: Q.091104-2.summatrix.c: Q.091104-2.summatrix.c
- Scrivere una funzione
int *copysort(int A[], int n)
che ritorna
in un array allocato dinamicamente i valori presenti nell'array A
(di dimensione n
) ordinati in senso crescente. Ad esempio, se
A = [2, 3, 2, 7, 4]
(n = 5
) allora la funzione ritorna
l'array [2, 2, 3, 4, 7]
.
Soluzione: Q.091104-3.copysort.c: Q.091104-3.copysort.c
- Scrivere una funzione
void strtac(char *s1, char *s2)
che nel blocco
puntato da s1
scrive la concatenazione della stringa s2
e la stringa s1
. Si assume che il blocco puntato da s1
sia sufficentemente grande da contenere entrambe le stringhe. Ad esempio,
se s1 = "prima"
e s2 = "seconda"
allora la funzione
modifica il blocco puntato da s1
così
s1 = "secondaprima"
.
Soluzione: Q.091104-4.strtac.c: Q.091104-4.strtac.c
- Scrivere una funzione
char *delchar(char *s, char d)
che ritorna
una stringa, allocata dinamicamente, ottenuta eliminando dalla stringa s
tutte le eventuali occorrenze del carattere d
. Ad esempio,
delchar("programma", 'a')
ritorna la stringa "progrmm"
.
Soluzione: Q.091104-5.delchar.c: Q.091104-5.delchar.c
--
RiccardoSilvestri,
ToniMancini - 03 Nov 2009
This topic: Programmazione1
> WebHome >
FP_EO >
FPdiario0910 > FPlab041109
Topic revision: r2 - 2009-11-04 - ToniMancini