PDA

Visualizza la versione completa : [C] Errore: subscripted value is neither array nor pointer


heavy25
02-04-2012, 16:49
Ciao a tutti ricevo questo errore alla compilazione : subscripted value is neither array nor pointer

Il programma in questione questo

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

int *matrix;
int m,n,i,j;
int main()
{
printf("Scrivi righe e colonne della matrice\n");
scanf("%d %d",&m,&n);

matrix=malloc(m*n*sizeof(int));

for(i=0;i<m;i++)
for(j=0;j<n;j++){
printf("Inserisci il valore al posto %d.%d\n",i,j);
scanf("%d",matrix[i][j]);}

}

heavy25
02-04-2012, 16:50
La riga in questione la riga 18

scanf("%d",matrix[i][j]);}

oregon
02-04-2012, 16:53
Se allochi un array bidimensionale simulandolo con un vettore devi agire di conseguenza

scanf("%d", (matrix+i*m+j);

Caiodark
03-04-2012, 18:10
Per restare nello spirito di quanto scritto da te:




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

/*
*
*/
int **matrix;
int m,n,i,j,x;
int main(int argc, char** argv)
{
printf("Scrivi righe e colonne della matrice\n");
scanf("%d %d",&m,&n);
printf("Valori inseriti %d, %d \n", m, n);

matrix= malloc(m*sizeof(int *));
for(x=0; x<m; x++){
matrix[x] = malloc(n*sizeof(int));
}

for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("Inserisci il valore al posto %d.%d\n",i,j);
scanf("%d", &matrix[i][j]);
}

return (EXIT_SUCCESS);
}

robe92
04-04-2012, 18:50
scusate ma non si dovevano definire le dimensioni della matrice? io vedo solo "int *matrix" senza dimensioni alcune

robe92
04-04-2012, 18:50
scusate ma non si dovevano definire le dimensioni della matrice? io vedo solo "int *matrix" senza dimensioni alcune

oregon
04-04-2012, 20:15
Originariamente inviato da robe92
io vedo solo "int *matrix" senza dimensioni alcune

Tu sai cosa sia

int *matrix

?

Loading