Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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: 1787
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. //...



Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
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