c1
,
c2
e un intero positivo n
,
stampa una forma come si deduce dai seguenti esempi (c1
= '#'
e
c2
= '-'
):
n = 1 n = 2 n = 3 n = 4 #-# ###-# #####-# #######-# #-### ###-### #####-### #-##### ###-##### #-#######
int valcom(int A[], int B[], int n)
che presi in input
due array di dimensione n
, ritorna il numero di valori distinti
in comune tra i due array. Ad esempio, se A
= {-1,0,-1,2,1}
e B
= {5,-1,-1,7,0}
, la funzione ritorna 2, se invece
A
= {1,2,3,4}
e B
= {0,0,6,7}
, ritorna 0.
int wcount(char *text)
che presa in input una
stringa text
ritorna il numero di parole nella stringa che iniziano e
finiscono con la stessa lettera (senza differenziare tra maiuscole e minuscole).
Con parola si intende una sequenza di caratteri alfabetici maiuscoli o minuscoli
di lunghezza massimale. Ecco alcuni esempi:
"L'aiuola e' piena di istrici" --> 4 "That's great! Wow!" --> 3 "Invio' l'SOS (risposero Aloha)" --> 3 "cotto (tonto)" --> 0
int *chareplace(char **strA, int n, char c1, char c2)
che preso in input un array di n
stringhe strA
sostituisce,
in tutte le stringhe, il carattere c1
con il carattere c2
e ritorna un array di n
interi, allocato dinamicamente,
che nell'i
-esimo elemento contiene il numero di sostituzioni effetuate
nella i
-esima stringa. Ecco un esempio, con c1
= 'o'
e c2
= 'X'
:
Array di stringhe Array dopo la sostituzione Array ritornato 0 --> "Rosso" 0 --> "RXssX" {2,0,1,1} 1 --> "Verde" 1 --> "Verde" 2 --> "Giallo" 2 --> "GiallX" 3 --> "Oro" 3 --> "OrX"
int submatrix(int n, char M[n][n], char x, int k, int *pr, int *pc)
che presa in input una matrice M
di n
×n
caratteri,
se M
contiene una sottomatrice di k
×k
caratteri
tutti uguali a x
, ritorna 1
e restituisce in *pr
, *pc
gli indici di riga e colonna dove inizia la sottomatrice, altrimenti ritorna 0
. Se c'è
più di una sottomatrice restituisce gli indici di una qualsiasi di queste. Ad esempio,
se la matrice M
è
ABBCX Zaaaa ZBaaa Baaaa aNMJKla chiamata
submatrix(5, M, 'a', 3, &r, &c)
ritorna 1
e restituisce
1
in r
e 2
in c
.