Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Eseguire un programma non facile con DevC++

    Il programma che vi propongo di elaborare è il seguente:

    Creare un programma in C che preveda le seguenti funzionalità:

    Permetta di caricare Tre Matrici A, B e C nel seguente modo:

    1) l'utente inserisce da tastiera un valore V, il programma lo inserisce nella Matrice A se V è dispari e V>150, nella Matrice B se V è pari e V>150, nella Matrice C se V è <=150.

    2) Segnali man mano che le matrici A,B e C si riempiono e di conseguenza non accetti più valori con le caratteristiche legate a quella matrice come di seguito descritto:

    Dopo MxN valori dispari>150 inserisco il valore "1311" e il sistema risponde "matrice A piena, non puoi inserire valori nella matrice A" ed ignora il valore.
    Se dopo inserisco il valore 54, il valore viene inserito nella Matrice C e così via, al successivo riempimento della Matrice C risponderà: "Matrice C piena, non puoi inserire valori nella Matrice C" e ignorerà tutti i successivi valori tranne quelli che possono essere inseriti nella Matrice B; al riempimento anche della Matrice B il sistema segnala che le tre Matrici A,B e C sono piene e restituisce il controllo.

    Io sono parzialmente riuscito ad effettuare il punto 1, per quanto riguarda il seguito sono ancora a lavoro; in ogni caso di seguito vi propongo l'elaborazione del punto 1:

    codice:
    #include <iostream>
    #include <math.h>
    using namespace std;
    /**/
    int main()
    {
    int a[10][10], b[10][10], c[10][10];
    int n,m,l,k,y,z,i,j;
    
    //Caricamento della Matrice A
    cout<<"Inserire numero righe e numero colonne della Matrice A:"<<endl<<endl;
    cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
    cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    
    while(n<1 || n>10 || m<1 || m>10)
    {
     cout<<"Errore di inserimento dati, riprova."<<endl<<endl;
     cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl;
     cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
     cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    }
    
    //Caricamento della Matrice B
    cout<<"Inserire numero righe e numero colonne della Matrice B:"<<endl<<endl;
    cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
    cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    
    while(n<1 || n>10 || m<1 || m>10)
    {
     cout<<"Errore di inserimento dati, riprova."<<endl<<endl;
     cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl;
     cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
     cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    }
    
    //Caricamento della Matrice C
    cout<<"Inserire numero righe e numero colonne della Matrice C:"<<endl<<endl;
    cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
    cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    
    while(n<1 || n>10 || m<1 || m>10)
    {
     cout<<"Errore di inserimento dati, riprova."<<endl<<endl;
     cout<<"Inserire numero righe e numero colonne della Matrice:"<<endl<<endl;
     cout<<"Inserire numero righe (non oltre 10): ";cin>>n;cout<<endl;
     cout<<"Inserire numero colonne (non oltre 10): ";cin>>m;cout<<endl;
    }
    
    cout<<"Inserimento elementi nelle Matrici A,B e C:"<<endl<<endl;
    
    int e[10][10];
    for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
      {
       cout<<"Elemento e["<<i<<","<<j<<"]= ";
       cin>>e[i][j];
       cout<<endl;
      }
    
    cout<<"La Matrice A e':"<<endl<<endl;
    
    for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
      {
       if((e[i][j]%2!=0)&&(e[i][j]>150))
       {a[i][j]=e[i][j];}
       else
       {a[i][j]=0;}
      }
    
    for(i=1;i<=n;i++)
     {
      for(j=1;j<=m;j++)
      cout<<a[i][j]<<"  ";
      cout<<endl;
     }
     
    cout<<endl<<endl;
    
    cout<<"La Matrice B e':"<<endl<<endl;
    
    for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
      {
       if((e[i][j]%2==0)&&(e[i][j]>150))
       {b[i][j]=e[i][j];}
       else
       {b[i][j]=0;}
      }
    
    for(i=1;i<=n;i++)
     {
      for(j=1;j<=m;j++)
      cout<<b[i][j]<<"  ";
      cout<<endl;
     }
     
    cout<<endl<<endl;
     
    cout<<"La Matrice C e':"<<endl<<endl;
    
    for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
      {
       if(e[i][j]<=150)
       {c[i][j]=e[i][j];}
       else
       {c[i][j]=0;}
      }
    
    for(i=1;i<=n;i++)
     {
      for(j=1;j<=m;j++)
      cout<<c[i][j]<<"  ";
      cout<<endl;
     }
    
    cout<<endl<<endl; 
     
    system("PAUSE");
    return 0;
    }
    Non esitate a dire la vostra, accetto correzione e quant'altro; l'importante è arrivare alla soluzione.
    Ciao e grazie, grazie mille.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Porta avanti un post alla volta...tra l'altro i due post da te scritti riguardano la stessa cosa.
    Inoltre devi utilizzare i tag code affinchè il codice sia leggibile.
    P.s. Ripeti sempre gli stessi errori di fondo..

  3. #3

    Moderazione

    Originariamente inviato da Marco1995
    Porta avanti un post alla volta...tra l'altro i due post da te scritti riguardano la stessa cosa.
    Nulla impedisce di portare avanti più thread insieme... e nell'altro thread il problema mi pare diverso.

    @Rinoleo: piuttosto, come detto da Marco1995 e precisato dal regolamento, rinnovo l'invito ad usare i tag CODE per formattare il codice (ovvero, scrivi [code], incolli il codice del programma, scrivi [/code]); inoltre, usa dei titoli significativi per le tue discussioni - se tutti i tuoi thread hanno come titolo una qualche variazione sul tema di "Eseguire un programma non [facile/banale/ovvio/...] con DevC++" non ci si capisce più niente...

    Anche qui ho sistemato io, ma in futuro cerca di impostare correttamente le discussioni fin dall'inizio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Scusa pensavo di aver utilizzato il tag code...Sorry guy!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Nulla impedisce di portare avanti più thread insieme...
    Sì non intendevo dire che non si può portare avanti più thread insieme..intendevo semplicemente dire che questo è un forum dove gli utenti interagiscono fra loro per aiutarsi e non per svolgere degli esercizi,stile ya . . va bè non so se mi è concesso dirlo
    e nell'altro thread il problema mi pare diverso.
    A me invece il problema pare sempre relativo alla gestione di matrici . .

  6. #6
    Originariamente inviato da Marco1995
    è un forum dove gli utenti interagiscono fra loro per aiutarsi e non per svolgere degli esercizi,stile ya . . va bè non so se mi è concesso dirlo
    Verissimo, e infatti Rinoleo ha proposto il suo tentativo di soluzione; quello che manca, qui, è indicarci anche che problemi incontra nel proseguire. In ogni caso, di nuovo, nulla gli impedisce di farsi seguire in più thread diversi, l'importante è che, come dici, l'obiettivo non sia quello di farsi svolgere esercizi da terzi.
    A me invece il problema pare sempre relativo alla gestione di matrici . .
    Certo, ma è un altro esercizio e un altro problema; se dovessimo accorpare tutti i thread che parlano di array sarebbe la fine.

    Ciò detto, direi di tornare in-topic.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Ciò detto, direi di tornare in-topic.
    quoto pienamente..
    io comincerei col modificare gli indici..

  8. #8
    Già, qui come nell'altro thread stai usando gli array con indici da 1 a N (con N la dimensione dell'array), quando gli indici vanno da 0 a N-1.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Già, qui come nell'altro thread stai usando gli array con indici da 1 a N (con N la dimensione dell'array), quando gli indici vanno da 0 a N-1.
    Per questo ho detto che trovavo molte analogie rispetto all'altro post

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.