Mappatura

La funzione di mappatura associa ad ogni elemento di un array un elemento di un altro array.

La struttura di una funzione di mappatura è la seguente:

void calcola_quadrato(int arr_in[], int arr_out[], int len){
    for (int i = 0; i < len; i++) {
        arr_out[i] = arr_in[i]*arr_in[i];
    }
    return; // opzionale quando la funzione ritorna void
}

Viene invocata nel seguente modo:

int main() {
    int a1[] = {1,2,3,4};
    int a2[4];
    calcola_quadrato(a1,a2,4);
}

Cose a cui prestare attenzione:

  • la lunghezza dell'array di input deve essere la stessa dell'array di output
  • il tipo degli elementi dell'array di input può essere diverso del tipo degli elementi dell'array di output

Altri esempi

void trasforma_maiuscolo(char str_in[], char str_out[], int len){
    for (int i = 0; i < len; i++) {
        str_out[i] = str_in[i] - 32;
    }
    return;
}
void dimezza(char arr_in[], char arr_out[], int len){
    for (int i = 0; i < len; i++) {
        arr_out[i] = arr_in[i] / 2.0F; // importante .0F per forzare una divisione tra float
    }
    return;
}