Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - vettori
Forum - C/C++ - vettori

Avatar
cip (Normal User)
Newbie


Messaggi: 11
Iscritto: 29/08/2009

Segnala al moderatore
Postato alle 11:58
Domenica, 06/09/2009
Ciao a tutti!
Qualcuno mi saprebbe dire come posso ottenere una matrice di n righe e una colonna con valori tutti uguali ad 1?
(so che è un semplice vettore unitario però poi mi serve fare un prodotto di una matrice nxn, per questo lo vedo come una matrice nx1)
Io ho provato con questo programma ,ma quando gli chiedo di visualizzarla invece di avere le componenti uguali ad 1 diventano 0???????  :(

#include<stdio.h>
#include<stdlib.h>
typedef int* matrice[10][10];
matrice A,x,P;
main()
{int i,j;
      for(i=0;i<2;i++)
      for(j=0;j<1;j++)
      printf("x[%d,%d]=1\n",i,j);
for (i=0;i<2;i++)
for (j=0;j<1;j++)
printf("%d\n",x[j]);      
      
      system("PAUSE");return 0;}

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 14:31
Domenica, 06/09/2009
Testo quotato

Postato originariamente da cip:

Ciao a tutti!
Qualcuno mi saprebbe dire come posso ottenere una matrice di n righe e una colonna con valori tutti uguali ad 1?
(so che è un semplice vettore unitario però poi mi serve fare un prodotto di una matrice nxn, per questo lo vedo come una matrice nx1)
Io ho provato con questo programma ,ma quando gli chiedo di visualizzarla invece di avere le componenti uguali ad 1 diventano 0???????  :(
Codice sorgente - presumibilmente C/C++

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef int* matrice[10][10];
  4. matrice A,x,P;
  5. main()
  6. {int i,j;
  7.       for(i=0;i<2;i++)
  8.       for(j=0;j<1;j++)
  9.       printf("x[%d,%d]=1\n",i,j);
  10. for (i=0;i<2;i++)
  11. for (j=0;j<1;j++)
  12. printf("%d\n",x[i][j]);      
  13.      
  14.       system("PAUSE");return 0;}





Ci sono tanti errori... andiamo con ordine: innanzitutto devi sempre circondare il tuo codice con i tag "code", altrimenti saltano via alcuni pezzi di codice e la formattazione è difficile da seguire.

Seconda cosa: In questo caso stai semplicemente eseguendo la funzione printf() 2 volte, senza mettere nulla dentro la matrice.

Per far funzionare qualcosa dovresti ad esempio fare così:

Codice sorgente - presumibilmente C++

  1. //...
  2. int A[10][10];
  3. int i,j;
  4.  
  5. for (i=0; i<10; ++i)
  6. {
  7.     for (j=0; j<10; ++j)
  8.     {
  9.         A[i][j] = 1; // inserisco un valore alla posizione (i,j)
  10.         printf("A[%d][%d] = %d\n", i, j, A[i][j]); // stampo il valore appena inserito e
  11.                                                    // vado a capo
  12.  
  13.     }
  14. }
  15.  
  16. //...


PM Quote
Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 14:55
Domenica, 06/09/2009
Scusa sai ma io non ho capito niente di quello che hai chiesto...:(

PM Quote