🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi array multimediali in C

Codegrind TeamJul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi degli array multimediali in C.

Esercizio 1

Inizializzazione e stampa di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            printf("%d ", matrice[riga][colonna]);
        }
        printf("\n");
    }

    return 0;
}

Esercizio 2

Calcolo della somma degli elementi di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int somma = 0;

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            somma += matrice[riga][colonna];
        }
    }

    printf("La somma degli elementi della matrice è: %d\n", somma);

    return 0;
}

Esercizio 3

Calcolo della media degli elementi di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int somma = 0;

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            somma += matrice[riga][colonna];
        }
    }

    float media = (float)somma / 9;

    printf("La media degli elementi della matrice è: %.2f\n", media);

    return 0;
}

Esercizio 4

Ricerca del valore massimo in una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {5, 8, 12},
        {3, 10, 6},
        {9, 7, 4}
    };

    int massimo = matrice[0][0];

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            if (matrice[riga][colonna] > massimo) {
                massimo = matrice[riga][colonna];
            }
        }
    }

    printf("Il valore massimo nella matrice è: %d\n", massimo);

    return 0;
}

Esercizio 5

Ricerca del valore minimo in una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {5, 8, 12},
        {3, 10, 6},
        {9, 7, 4}
    };

    int minimo = matrice[0][0];

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            if (matrice[riga][colonna] < minimo) {
                minimo = matrice[riga][colonna];
            }
        }
    }

    printf("Il valore minimo nella matrice è: %d\n", minimo);

    return 0;
}

Esercizio 6

Somma degli elementi lungo le righe di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int sommaRighe[3] = {0};

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            sommaRighe[riga] += matrice[riga][colonna];
        }
    }

    for (int riga = 0; riga < 3; riga++) {
        printf("La somma degli elementi della riga %d è: %d\n", riga + 1, sommaRighe[riga]);
    }

    return 0;
}

Esercizio 7

Somma degli elementi lungo le colonne di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int sommaColonne[3] = {0};

    for (int colonna = 0; colonna < 3; colonna++) {
        for (int riga = 0; riga < 3; riga++) {
            sommaColonne[colonna] += matrice[riga][colonna];
        }
    }

    for (int colonna = 0; colonna < 3; colonna++) {
        printf("La somma degli elementi della colonna %d è: %d\n", colonna + 1, sommaColonne[colonna]);
    }

    return 0;
}

Esercizio 8

Trasposizione di una matrice 3x3:
#include <stdio.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int matriceTrasposta[3][3];

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            matriceTrasposta[riga][colonna] = matrice[colonna][riga];
        }
    }

    printf("Matrice originale:\n");
    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            printf("%d ", matrice[riga][colonna]);
        }
        printf("\n");
    }

    printf("\nMatrice trasposta:\n");
    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            printf("%d ", matriceTrasposta[riga][colonna]);
        }
        printf("\n");
    }

    return 0;
}

Esercizio 9

Moltiplicazione di due matrici 3x3:
#include <stdio.h>

int main() {
    int matrice1[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int matrice2[3][3] = {
        {9, 8, 7},
        {6, 5, 4},
        {3, 2, 1}
    };

    int matriceProdotto[3][3] = {0};

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            for (int k = 0; k < 3; k++) {
                matriceProdotto[riga][colonna] += matrice1[riga][k] * matrice2[k][colonna];
            }
        }
    }

    printf("Matrice prodotto:\n");
    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            printf("%d ", matriceProdotto[riga][colonna]);
        }
        printf("\n");
    }

    return 0;
}

Esercizio 10

Ricerca di un valore in una matrice 3x3:
#include <stdio.h>
#include <stdbool.h>

int main() {
    int matrice[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int valoreDaCercare = 5;
    bool trovato = false;

    for (int riga = 0; riga < 3; riga++) {
        for (int colonna = 0; colonna < 3; colonna++) {
            if (matrice[riga][colonna] == valoreDaCercare) {
                trovato = true;
                break;
            }
        }
        if (trovato) {
            break;
        }
    }

    if (trovato) {
        printf("Il valore %d è presente nella matrice.\n", valoreDaCercare);
    } else {
        printf("Il valore %d non è presente nella matrice.\n", valoreDaCercare);
    }

    return 0;
}