Funzione in c che legge una matrice da file txt e restituisce la matrice moltiplicata per 3

di il
2 risposte

Funzione in c che legge una matrice da file txt e restituisce la matrice moltiplicata per 3

Buon giorno
Ho fatto in questo modo però mi da errore per quanto riguarda l'operatore * alla riga 55.
in più non so se il resto è giusto.
grazie in anticipo a chi potrà aiutarmi.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void null_3(int **M[][], int r, int c);

int main(){
int **M;
int r;
int c;
int i;
int j;
int n=4;

printf("inserisci il numero delle righe\n");
scanf("%d", &r);

printf("inserisci il numero delle colonne\n");
scanf("%d", &c);

M=(int**)malloc(r*sizeof(int*));
for(i=0; i<n; i++){
M=(int**)malloc(c*sizeof(int));
}

FILE *fp;
fp=fopen("dati.txt", "r");

i=0;
j=0;
while(!feof(fp))
{
fscanf(fp, "%d", &M[j]);
if(j==2){
i=i+1;
j=0;
}
else{
j=j+1;
}
}
fclose(fp);

null_3(M, r, c);

return 0;
}
void null_3(int **M[][], int r, int c){
int i;
int j;
int n=4;

for(i=0; i<n; i++){
for(j=0; j<n; j++){
M[j]*3;
}
}

for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%d", M[j]);
}
printf("\n");
}
}

2 Risposte

  • Re: Funzione in c che legge una matrice da file txt e restituisce la matrice moltiplicata per 3

    Innanzi tutto grazie per avermi risposto e per i consigli.
    inizialmente avevo fatto come dici tu " M[j]=M[j]*3
    ma niente mi dava errore uguale allora o provato in un altro modo.
    ancora adesso facendo come dici tu mi da errore.
    per quanto riguarda il nome della funzione purtroppo, trattandosi di un compito d'esame , è la traccia del compito che mi diche come chiamare la funzione. ancoragrazie
  • Re: Funzione in c che legge una matrice da file txt e restituisce la matrice moltiplicata per 3

    4 righe da correggere

    void null_3(int **M[][], int r, int c);
    diventa
    void null_3(int **M, int r, int c);

    M=(int**)malloc(c*sizeof(int));
    diventa
    M=(int*)malloc(c*sizeof(int));

    void null_3(int **M[][], int r, int c){
    divente
    void null_3(int **M, int r, int c){


    M[j]*3;
    diventa
    M[j]*=3;



    P.S. Utilizza i tag CODE la prossima volta. ...
Devi accedere o registrarti per scrivere nel forum
2 risposte