Informatica: matrici
Salve,non riesco a scrivere un programma. La traccia è: Data una matrice 5x5, sostituire agli elementi dispari il loro doppio.
Grazie in anticipo
Grazie in anticipo
Risposte
def double_but_only_if_odd(n): return 2*n if n % 2 == 0 else n def do_it_on_matrices(m): return zip(*[[double_but_only_if_odd(m[i][j]) for i in range(len(m))] for j in range(len(m)-1)])
(c'è certamente un modo più pitonico di farlo e di evitare di trasporre la matrice con lambda x: zip(*x), ma questo funziona).
Grazie,non ci sarebbe un modo più semplice?? Perché ancora non abbiamo studiato questo tipo di linguaggio.
In cosa vuoi scritta la risposta?
Noi li facciamo in C++, utilizzando un linguaggio basilare
Una possibile soluzione potrebbe essere quella di defiinire una funzione come quella che segue
void doubleUpOddElements(int A[5][5]){ for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ if (A[i][j] %2 == 1) A[i][j] *= 2; } } }