Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
HELP urgente matrice!
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
el_vin
Comune mortale
Comune mortale


Registrato: 07/09/08 10:07
Messaggi: 4

MessaggioInviato: 07 Set 2008 10:12    Oggetto: HELP urgente matrice! Rispondi citando

Ciao a tutti ragazzi!
sto provando a fare una calcolatrice per matrici in c...dato che il mio livello di programmazione è scarso Rolling Eyes mi sono subito scontrato con un problema...qual'è il comando per mostrare una matrice sul video con c???
Grazie saluti!!!!!!!!!!!
Top
Profilo Invia messaggio privato
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 07 Set 2008 10:25    Oggetto: Rispondi citando

beh... definisciti una funzione che stampi in modo formattato la matrice. Per il codice di tale funzione dipende da come l'hai implementata(liste di adiacenza...?)
Comunque non credo che ci siano funzioni di libreria per lo scopo.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 07 Set 2008 10:28    Oggetto: Rispondi citando

Matrice bidimensionale?
Top
Profilo Invia messaggio privato
el_vin
Comune mortale
Comune mortale


Registrato: 07/09/08 10:07
Messaggi: 4

MessaggioInviato: 07 Set 2008 10:32    Oggetto: Rispondi citando

grazie delle rapide risposte!
allora io semplicemente l'ho implementata con un array...le dimensioni di righe e colonne non le ho impostate ho solo messo un massimo di 100...
so che il c++ mostra subito la matrice facendo cout<<array[][]>> e speravo si potesse fare anche con il c...
scusami saetta ma non ho idea di come si faccia a stampare in modo formattato matrice!
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 07 Set 2008 11:28    Oggetto: Rispondi citando

el_vin ha scritto:
allora io semplicemente l'ho implementata con un array...
Sì, ma mono, bi, tridimensionale o cosa?

E rappresentano una matrice bidimensionale?
Top
Profilo Invia messaggio privato
el_vin
Comune mortale
Comune mortale


Registrato: 07/09/08 10:07
Messaggi: 4

MessaggioInviato: 07 Set 2008 11:31    Oggetto: Rispondi citando

scusa hai ragione...bidimensionale... questa è la mia prova...
Codice:

case 1:
          printf("Inserisci dimensioni prima matrice:\nRighe:");
          scanf ("%d",&r1);
          printf("Colonne:");
          scanf ("%d",&c1);
              printf("Inserisci dimensioni seconda matrice:\nRighe:");
          scanf ("%d",&r2);
          printf("Colonne:");
          scanf ("%d",&c2);
             if (r1==r2)
            {
            if (c1==c2)
              {
          inserimento1();
          inserimento2();
               
                for (i=0;i<r1;i++)
                {
                  for (j=0;j<c1;j++)
                  {
                   Ris [i][j]=A[i][j]+B[i][j];
                  printf( "%d",Ris[i][j]);
                  printf ("\n");
                  }
                 
                }
              }


inserimento 1 e 2 servono per prendere i dati della matrice...
cosi xo visualizzo solo una colonna di zeri...
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 07 Set 2008 11:34    Oggetto: Rispondi citando

Perché solo una colonna?

Non ti cicila su i ?
Top
Profilo Invia messaggio privato
el_vin
Comune mortale
Comune mortale


Registrato: 07/09/08 10:07
Messaggi: 4

MessaggioInviato: 07 Set 2008 11:40    Oggetto: Rispondi citando

quello che mi chiedo pure io...
facendo un po di prove l'ho notato che il mio problema è nel non saper stampare l'array.... ossia questo comando errato
printf( "%d",Ris[i][j]);
se aggiungo un altro %d nel printf mi visualizza due colonne... tuttavia con risultati assurdi...ma il programma mi sembra giusto...
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 07 Set 2008 18:03    Oggetto: Rispondi

Ciao,
per stampare a video una matrice puoi fare così:
Codice:

...
void main()
{
   int mat[100][100];
   int i,j;
   int r,c;
   ...
   for (i=0;i<r;++i)
   {
      for (j=0;j<c;++j)
         printf("%d",mat[i][j]);
         
      printf("\n");   
   }   
}

r e c sono rispettivamente il numero di righe e colonne, mat è la matrice.
i puntini indicano le operazioni per leggere e inizializzare la matrice.
Di fatto, per ogni riga (il ciclo sulla i) stampi i valori delle celle facendo variare le colonne (ciclo sulla j).
Quando ha finito di stampare la riga, fai una printf che manda a capo e cambi riga.
In c++ è uguale solo che usi cout al posto di printf; cout<<mat[i][j]; stampa la cella i,j della matrice.
Ora il problema è quello di formattare l'output per non avere le righe sfasate.
Potresti mettere prima di ogni numero ("%d") un tab "\t" oppure se usi dei valori float (che avrebbe più senso) puoi usare i formati del tipo "%6.2f",ad esempio, che signifa 6 posti di cui 2 decimali.

Sarebbe anche il caso di usare memoria dinamica per le matrici piuttosto che creare una dimensione massima.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi