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++ - Riempimento matrice
Forum - C/C++ - Riempimento matrice - Pagina 2

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
metalazo (Normal User)
Newbie


Messaggi: 16
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 22:24
Lunedì, 17/05/2010
#include<iostream>
using namespace std;
typedef int coppia [ 2 ][ 2 ];
void visualizza(coppia c,int rig,int col);

int main()
{
int i,j,rig,rip;
int col=2;
coppia c;
do
{
      
    cout<<"\n";
    cout<<"\n Definisci le dimensioni della matrice :";
   //cout<<"\n numero max  di righe ";
   //cin>>rig;
    
    do
    {
      for(i=0;i<10;i++)
       {
        for(j=0;j<col;j++)
         {
          cout<<"\n Dammi il valore della cella delle coppie [ "<<i<<","<<j<<" ] ";
          cin>>c[ i ][ j ];
         }
       }
    }
    while(c[ i ]==0 && c[ j ]==0);
    cout<<"\n COPPIE: ";
    visualizza(c,rig,col);
  



  cout<<"\n Vuoi continuare ancora?";
  cout<<"\n si=1 no=0 : ";
  cin>>rip;
}
while(rip==1);
}

void visualizza(coppia c,int rig,int col)
{
int i,j;
cout<<"\n i valori contenuti nella matrice sono:";
for(i=0;i<rig;i++)
{
   cout<<"\n coppia "<<i<<" ";
  for(j=0;j<col;j++)
  {
   cout<<" "<<c[ i ][ j ]<<" ";
  }
}
}

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:25
Lunedì, 17/05/2010


E dopo che hai corretto il codice, dimmi cosa c'è che non va ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
metalazo (Normal User)
Newbie


Messaggi: 16
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 22:28
Lunedì, 17/05/2010
ho corretto il codice...
questo programma che ho scritto però non funziona e non riesco a capire il perchè...
il ciclo nn si arresta quando inserisco la coppia (0,0)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:32
Lunedì, 17/05/2010
Tu dichiari la matrice in questo modo

typedef int coppia [ 2 ][ 2 ];

ma poi usi per il primo indice

for(i=0;i<10;i++)

un valore compreso tra 0 e 9

Questo è ovviamente sbagliato ... Dovresti scrivere

typedef int coppia [ 10 ][ 2 ];

e poi

int rig=10, col=2;

e

for(i=0; i<rig; i++)

In più, devi inserire la if che ti dicevo nella for piu' esterna.


Ultima modifica effettuata da nessuno il 17/05/2010 alle 22:53


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
metalazo (Normal User)
Newbie


Messaggi: 16
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 22:33
Lunedì, 17/05/2010
ok va bene...ma come faccio a far fermare il ciclo per che arrivi alla decima iterazione ?

PM Quote
Avatar
metalazo (Normal User)
Newbie


Messaggi: 16
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 22:42
Lunedì, 17/05/2010
credo di aver capito...faccio qualche tentativo e poi ti faccio sapere...grazie x la dritta. :k:

PM Quote
Avatar
metalazo (Normal User)
Newbie


Messaggi: 16
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 21:46
Martedì, 18/05/2010
Ciao, ho provato come mi hai suggerito il codice per il riempimento è il seguente:

      for(i=0;i<rig;i++)
       {
        for(j=0;j<col;j++)
         {
          cout<<"\n Dammi il valore della cella delle coppie [ "<<i<<","<<j<<" ] ";
          cin>>c[ i ][ j ];
        
         if(c[ i ]==0 && c[ j ]==0)

         }
       }

ma quando inserisco la coppia (0,0) non si arresta l'inserimento e non esce dal ciclo for
come posso fare ???

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:54
Martedì, 18/05/2010
La if serve a controllare ... ma devi dire cosa fare dopo il controllo ... per uscire ci vuole la break.

La if la inserisci dopo il ciclo interno.

Codice sorgente - presumibilmente Plain Text

  1. for(i=0;i<rig;i++)
  2.        {
  3.         for(j=0;j<col;j++)
  4.          {
  5.           cout<<"\n Dammi il valore della cella delle coppie [ "<<i<<","<<j<<" ] ";
  6.           cin>>c[ i ][ j ];
  7.          }
  8.        
  9.          if(c[ i ]==0 && c[ j ]==0) break;
  10.        }




Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo