Modificare variabili

di il
11 risposte

Modificare variabili

Salve a tutti e come promesso inizio con le domande!!

dovrei far in modo che in una matrice mxn io possa inserise i dati in vettori.

spiego meglio, devo far si che data una matrice mxn invece che di inserire i dati uno alla volta (come con i costrutti for o while) e impiegare così molto tempo, inserirli direttamente nei vettori che la compongono scrivendo tutti i dati di un vettore premere invio e scrivere gli altri dati del secondo vettore e così via sino a m vettori.

un esempio per rendere l'idea di quello che voglio dirvi:

scanf("%d",&a); mi alloca il valore che inserisco nel posto della memoria puntato da a,

scanf("%d%c%d%c%d",&a, &null, &b, &null2, &c) in questo modo qualora io voglia inserire più dati (staccati uno dall'altro con lo spazio o carattere) con questa instruzione posso farlo direttamente senza scrivere 4 scanf....ecco una cosa del genere vorrei farla per i vettori che fanno parte della mia matrice mxn.....

come fare???

grazie a tutti per l'aiuto

11 Risposte

  • Re: Modificare variabili

    Non ho capito bene il problema.

    Non capisco quale sia la differenza ad usare scanf con un format a più tag oppure usare singoli scanf... è uguale.
    Nell esempio sotto, niente mi vieta di inserire in linea i miei valori separati da <space>.
    
       ...
       for (n=0;n<MAX;n++)
          scanf ("%d",&matrice[m][n]);
       ...
    
    Personalmente ritengo che scanf sia molto insicura usata in questa maniera, comunque
    un'altra idea sarebbe usare un buffer char ed un parser con controllo a seguire.
    
      ...
      scanf ("%[DIMENSIONE_BUFFER-1]s",buffer);
      n=parser (buffer, &matrice[m][0], n_maxsize);
      ...
    
    Saluti,
    Max
  • Re: Modificare variabili

    Cioè io con il primo ciclo for posso tranquillamente inserise tre numeri con lo space che me li memorizza nel vettore della mia matrice???
  • Re: Modificare variabili

    Certo che si! (bastava provare)
  • Re: Modificare variabili

    Io lo provo ma se per esempio scrivo 1 3 4 mi memorizza solo l'1 e poi quando schiacchio invio va a memorizzare l'altro che scriverò....esempio

    in input:
    1 2 3
    9 3 4
    0 4 5

    memorizza solo 1 9 0 ....non me li memorizza nel vettore se li scrivo con lo spazio...ho reso l'idea???
  • Re: Modificare variabili

    Ma lo hai provato o stai supponendo???
    
    max@studio:~/tmp> ./a.out                                          
    1 2 3                                                              
    9 3 4                                                              
    0 4 5                                                              
     0 = 1                                                             
     1 = 2                                                             
     2 = 3                                                             
     3 = 9                                                             
     4 = 3                                                             
     5 = 4                                                             
     6 = 0                                                             
     7 = 4                                                             
     8 = 5                                                             
    max@studio:~/tmp>
    
  • Re: Modificare variabili

    Allora se io scrivo come dici te non mi fa nulla....nnt proprio!!!

    l'ho appena provato!!

    poi perchè metti &matrice[a]

    la & non va mica
  • Re: Modificare variabili

    Questo il codice esempio che hai appena visto in output sul post precedente.
    
    #include <stdio.h>
    
    #define MAX 9
    int main (void)
    {
      int matrice [10][10];
      int m,n;
    
      m=5;
       
      for (n=0;n<MAX;n++)
        scanf ("%d",&matrice[m][n]);
       
      for (n=0;n<MAX;n++)
        printf ("%2d = %d\n",n,matrice[m][n]);
    
      return 0;
    
    }
    
  • Re: Modificare variabili

    Xk alla scanf metti la & (e commerciale)

    essendo già un puntatore non dovresti metterla o sbaglio?!

    cioè non scrivere &matrice[a] ma matrice [a] (alla scanf mi riferisco
  • Re: Modificare variabili

  • Re: Modificare variabili

    Ho capito...t ringrazio ancora!
  • Re: Modificare variabili

    Prego cianuro
Devi accedere o registrarti per scrivere nel forum
11 risposte