====== Esercizi vari ======
===== Matrici =====
==== Esercizio 1 ====
Assumendo di avere la seguente matrice:
string m[4][4] = {
"123",
"456",
"678",
"901",
"234" ,
"567",
"890",
"123",
"456",
"789",
"012",
"345",
"678",
"901",
"234",
"567" };
e di avere le seguenti due funzioni:
void g(string&); //domanda: perche' e' necessario questo prototipo **qui**?
void f(string s)
{
if ((atoi(s.substr(0,1).c_str()) % 2) ==0)
g(s);
else
s = "000";
}
void g(string & s)
{
if ((atoi(s.substr(0,1).c_str()) % 2) ==0)
s = s.substr(0, s.length() -1) + "a";
else
s = "000";
}
Qual รจ il contenuto della matrice m dopo aver eseguito il seguente frammento di codice (da ''main'')?
for (int i=0; i<4; i++ )
for (int j=0; j<4; j+=2 )
if(i%2)
g(m[i][j]);
else
f(m[i][i]);
**La funzione atoi**. Prende in input una stringa (stile "C") e restituisce un intero. Ad esempio per la stringa "1024" restituisce l'intero 1024. Osservare che il metodo substr della classe string restituisce una stringa che va poi resa "C-style" con il metodo c_str() (altrimenti atoi non funziona).
==== Esercizio 2 ====
**A.** Scrivere il prototipo di una funzione f(...) che prende in ingresso una
matrice di NxN interi e un intero k e che restituisce un booleano
**B.** Implementare la funzione f(...) facendo in modo che essa restituisca
true se la somma dei valori sulle righe di indice pari e la somma
dei valori sulle colonne di indice dispari differiscono per una
quantita' al piu' pari a k.
==== Esercizio 3 ====
**A.** Scrivere il prototipo di una funzione f(...) che prende in ingresso una
matrice di NxM interi e un intero k e che restituisce un intero.
**B.** Implementare la funzione f(...) facendo in modo che essa restituisca
il risultato della somma degli elementi che si trovano sulle colonne((nella versione
di questo esercizio inviata sulla mailing list qui c'era //righe// invece di //colonne//)) con indice
multiplo di 3 decrementati del valore dell'elemento alla loro sinistra (o
0 se questo non esiste).