Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C] Problema su un programma

    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]);}

    }

  2. #2
    La riga in questione è la riga 18

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

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se allochi un array bidimensionale simulandolo con un vettore devi agire di conseguenza

    scanf("%d", (matrix+i*m+j);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Per restare nello spirito di quanto scritto da te:

    codice:
    #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);
    }
    ...

  5. #5
    scusate ma non si dovevano definire le dimensioni della matrice? io vedo solo "int *matrix" senza dimensioni alcune

  6. #6
    scusate ma non si dovevano definire le dimensioni della matrice? io vedo solo "int *matrix" senza dimensioni alcune

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da robe92
    io vedo solo "int *matrix" senza dimensioni alcune
    Tu sai cosa sia

    int *matrix

    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.