Funzioni in C riguardanti matrici e vettori

di il
6 risposte

Funzioni in C riguardanti matrici e vettori

Ciao a tutti. ho fatto degli algoritmi in C a proposito di alcune operazioni con le matrici. l'ho scritto su eclipse e mi dice che ci sono degli errori, potreste aiutarmi a capire quali sono? poi potreste dirmi cosa cambierebbe se quelle operazioni dovessero operare con i vettori?
Allegati:
20383_819f91bf1d2e753c7415e746afc9e566.txt
20383_819f91bf1d2e753c7415e746afc9e566.txt

6 Risposte

  • Re: Funzioni in C riguardanti matrici e vettori

    Riporta qui il codice invece di fare scaricare il file e cerca di essere più chiaro perché non si capisce nulla.
  • Re: Funzioni in C riguardanti matrici e vettori

    #include <stdio.h>
    #define RIGHE 4
    #define COLONNE 4

    typedef struct {
    int righe;
    int colonne;
    float m[RIGHE][COLONNE];
    }matrice;

    matrice matrice_somma[RIGHE][COLONNE];
    matrice matrice_prodotto_scalare[RIGHE][COLONNE];
    matrice matrice_prodotto[RIGHE][COLONNE];
    matrice matrice_trasposta[RIGHE][COLONNE];

    int Leggere_righe(matrice m1);
    int Scrivere_righe(matrice m1,int valore);
    int Leggere_colonne(matrice m1);
    int Scrivere_colonne(matrice m1,int valore);
    int Leggere_matrice(matrice m1,int r,int c);
    void Scrivere_matrice(matrice m1,int r,int c,int valore);
    void Somma_matrici(matrice m1,matrice m2);
    void Prodotto_scalare_matrice(matrice m1,float valore);
    void Prodotto_matrici(matrice m1,matrice m2);
    void Trasposta_matrice(matrice m1);
    void Stampare_matrice(matrice m1);

    int main()
    {
    matrice m1;
    matrice m2;
    }

    int Leggere_righe(matrice m1)
    {
    return m1.righe;
    }

    int Scrivere_righe(matrice m1,int valore)
    {
    m1.righe = valore;
    return m1.righe;
    }

    int Leggere_colonne(matrice m1)
    {
    return m1.colonne;
    }

    int Scrivere_colonne(matrice m1,int valore)
    {
    m1.colonne = valore;
    return m1.colonne;
    }

    int Leggere_matrice(matrice m1,int r,int c)
    {
    return m1.m[r][c];
    }

    void Scrivere_matrice(matrice m1,int r,int c,int valore)
    {
    m1.m[r][c] = valore;
    return;
    }

    void Somma_matrici(matrice m1,matrice m2)
    {
    int i,j;

    i = 0;
    while (i < Leggere_righe(m1))
    {
    j = 0;
    while (j < Leggere_colonne(m1))
    Scrivere_matrice(matrice_somma,i,j) = Leggere_matrice(m1,i,j) + Leggere_matrice(m2,i,j);
    j = j+1;
    }
    i = i+1;
    return ;
    }

    void Prodotto_scalare_matrice(matrice m1,float valore)
    {
    int i,j;

    i = 0;
    while (i < Leggere_righe(m1))
    {
    j = 0;
    while (j < Leggere_colonne(m1))
    {
    Scrivere_matrice(matrice_prodotto_scalare,i,j) = Leggere_matrice(m1,i,j) * valore;
    j = j+1;
    }
    i = i+1;
    }
    return ;
    }

    void Trasposta_matrice(matrice m1)
    {
    int i,j;

    i = 0;
    while (i < Leggere_righe(m1))
    {
    j = 0;
    while (j < Leggere_colonne(m1))
    {
    Scrivere_matrice(matrice_trasposta,i,j) = Leggere_matrice(m1,j,i);
    j = j+1;
    }
    i = i+1;
    }
    return ;
    }

    void Prodotto_matrici(matrice m1,matrice m2)
    {
    int i,j,k;
    float risultante;

    i = 0;
    while (i < Leggere_righe(m1))
    {
    j = 0;
    while (j < Leggere_colonne(m2))
    {
    k = 0;
    while (k < Leggere_colonne(m1))
    {
    risultante = 0;
    risultante = Leggere_matrice(m1,i,k) * Leggere_matrice(m2,k,j);
    Scrivere_matrice(matrice_prodotto,i,j) = risultante;
    k = k+1;
    }
    j = j+1;
    }
    i = i+1;
    }
    return;
    }

    void Stampare_matrice(matrice m1)
    {
    int i,j;

    i = 0;
    while (i < Leggere_righe(m1))
    {
    j = 0;
    while (j < Leggere_colonne(m1))
    {
    printf("%f",Leggere_matrice(m1,i,j));
    printf("");
    j = j+1;
    }
    printf("\n");
    i = i+1;
    }
    return ;
    }
    questo è il codice che ho scritto. vorrei che mi aiutaste a trovare gli errori e vorrei sapere come sarebbe il codice di queste operazioni(somma,prodotto,prodotto scalare,trasposta,lettura,stampa,ecc) non con le matrici,ma con i vettori. Potreste aiutarmi per favore?
  • Re: Funzioni in C riguardanti matrici e vettori

    Ma hai compilato ? Ci sono errori di compilazione ?

    Non farli cercare a noi gli errori ...
  • Re: Funzioni in C riguardanti matrici e vettori

    Sembra la Settimana Enigmistica.
    Dovresti specificare quali sono gli errori che ottieni quando compili, altrimenti cosa vuoi che possiamo dirti. Tra l'altro usa i tag code quando posti il codice perché così è difficile da leggere.

    N.B: E' errato dire ho fatto degli algoritmi in C, al massimo hai implementato degli algoritmi in C.
  • Re: Funzioni in C riguardanti matrici e vettori

    Si, ho compilato. vi ho allegato il file con il codice scritto in eclipse. vi è più facile ora dirmi quali sono gli errori?
    Poi cortesemente vorrei che mi aiutaste a fare le stesse operazioni fatte in questo file con le matrici, però con i vettori.
    Allegati:
    20383_c59dcbb4d7d8a7977f650fec5e24bbfe.rar
    20383_c59dcbb4d7d8a7977f650fec5e24bbfe.rar
  • Re: Funzioni in C riguardanti matrici e vettori

    Lo devi dire tu se e quali sono gli errori. Capito o no?
Devi accedere o registrarti per scrivere nel forum
6 risposte