ESERCIZIO MATRICE

di il
5 risposte

ESERCIZIO MATRICE

Salve... Non riesco a capire come mai lo specificatore di formato %f non viene supportato e diventa %p?


/*Scrivere un programma per effettuare la somma di 2 matrici di float di
dimensione N x M Le 2 matrici devono essere lette da tastiera*/
#include <stdio.h>
#include <stdlib.h>
#define RIG 10
#define COL 10

int main() {
    float A[RIG][COL],B[RIG][COL],S[RIG][COL];
    int i,j,R,C;
    
    do{
        printf("Inserire il numero di righe: ");
        scanf("%d",&R);
    }while((R>RIG) || (R<1));
    
    do{
        printf("Inserire il numero di colonne: ");
        scanf("%d",&C);
    }while((C>COL) || (C<1));
    
    printf("\n");
    
    printf("Inserire i dati nella prima matrice \n");
    for(i=0;i<R;i++){
        for(j=0;j<C;j++){
            printf("Inserisci elemento di riga %d e colonna %d: ", i, j);
            scanf("%f",&A[i][j]);
        }
        printf("\n");
    }

    printf("Inserire i dati nella seconda matrice \n");
    for(i=0;i<R;i++){
        for(j=0;j<C;j++){
             printf("Inserisci elemento di riga %d e colonna %d: ", i, j);
            scanf("%f",&B[i][j]);
        }
        printf("\n");
    }
    
    printf("\nStampare i dati della prima matrice\n");
        for(i=0;i<R;i++){
        for(j=0;j<C;j++){
            printf("\t%p",&A[i][j]);
        }
    }
    
    printf("\nStampare i dati della seconda matrice\n");
        for(i=0;i<R;i++){
        for(j=0;j<C;j++){
            printf("\t%p",&B[i][j]);
        }
        printf("\n");
    }
    
    printf("Somma delle due matrici\n");
    for (i=0;i<R;i++) {
        for (j=0;j<C;j++){
            S[i][j]=A[i][j]+B[i][j];
        }       
        }

 printf("\nStampiamo i dati della matrice somma\n");
 for (i=0;i<R;i++) {
    for(j=0;j<C;j++){
        printf("\t%f", S[i][j]);                
    }
    printf("\n");
        }

    return 0;
}

5 Risposte

  • Re: ESERCIZIO MATRICE

    Ma perché
    
    printf("\t%p", &A[i][j]);
    
    e non
    
    printf("\t%f", A[i][j]);
    
    ??
  • Re: ESERCIZIO MATRICE

    Eh non lo so... IL compilatore da errore il %f e mi consiglia il %p
  • Re: ESERCIZIO MATRICE

    Non ci siamo capiti.

    Hai usato l'operatore & nella printf ma non lo devi usare! Quello serve per ottenere l'indirizzo della variabile per la scanf.
  • Re: ESERCIZIO MATRICE

    Oddio non avevo prestato attenzione... Ti ringrazio di avermelo fatto notare
  • Re: ESERCIZIO MATRICE

    Devi rivedere il codice e prestare attenzione. Non scrivere subito nel forum, rifletti e leggi i messaggi di errore che ti dà il compilatore, esaminando con attenzione le righe indicate.
Devi accedere o registrarti per scrivere nel forum
5 risposte