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++ - vorrei scrivere un programma che abbia un menų e in cui bisogna costruire una matrice quadrata
Forum - C/C++ - vorrei scrivere un programma che abbia un menų e in cui bisogna costruire una matrice quadrata

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Segnala al moderatore
Postato alle 14:21
Martedė, 19/10/2010
Il programma che ho scritto presenta un menų che ho costruito attraverso cout, poi ci sono 2 casi: a e b,nel caso a costruisco una matrice quadrata che abbia una dimensione di massimo 10 righe e 10 colonne e poi inserisco i valori di ogni elemento della matrice, nel caso b devo sommare i valori di ogni colonna della matrice.Ci saranno sicuramente degli errori ma č tipo la seconda volta che scrivo un programma con array, avevo giā posto questa domanda pių volte ma mi č stata cancellata, penso perchč lo scopo del programma non era comprensibile, spero adesso di essere stata esaustiva
Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2.  #include <iostream>
  3.  using namespace std;
  4.  void Somma(int M[], int d );
  5.  int d;
  6.  int M[d][d]; //matrice quadrata, d č la sua dimensione(max10)
  7.  int riga, col;
  8.  int caso;
  9.  int main (void){
  10.  int opzione;
  11.  
  12.  cout << "MENU'" << endl;//costruisco il menų del mio programma
  13.  cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl;
  14.   cout <<"a) costruisci la matrice quadrata" << endl;
  15.   cout<< "b) calcola la somma di ogni colonna della matrice :" << endl;
  16.   cin >> opzione;
  17.  
  18.     caso=a //costruisce una matrice quadrata e scelgo la sua dimens.(max10)
  19.     cout << " scegli la dimensione della matrice quadrata (max 10):";
  20.    cin >> d;
  21.    if (( d >= 2) && ( d<= 10))
  22.     cout << d;
  23.     else cout << "errore" << endl;
  24.    
  25.      cout << "inserisci gli elementi della matrice :";
  26.      for ( riga=0; riga <= d; riga++){
  27.      for ( col = 0; col <= d; col++){
  28.      cin >> M [riga] [col];}}
  29.      break;}}
  30.      
  31.      void Somma(int M[], int d)// somma i valori di tutte le colonne della matrice
  32.      {
  33.      caso = b;
  34.      int somma = 0;
  35.      for ( col = 0; col <= d ; col++){
  36.      for ( riga = 0; col <= d; riga++){
  37.     somma += M [d][d];}}
  38.     return somma;
  39.     }
  40.    
  41.      cout << somma << endl;}



Ultima modifica effettuata da ciao888 il 19/10/2010 alle 14:35
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 14:38
Martedė, 19/10/2010
qual č l'errore?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 14:39
Martedė, 19/10/2010

a parte la formattazione assolutamente improponibile, non ti chiedi il motivo per cui il moderatore sia dovuto intervenire PESANTEMENTE per limitare il tuo spam?
hai aperto 7 thread in un paio d'ore o pure meno, assolutamente senza ne capo ne coda.

essere alle prime armi non giustifica la pessima netiquette.

cmq il primo errore lampante che mi salta all'occhio č quel
int M[d][d]

non puoi dichiarare un array statico con indici variabili, puoi farlo solo e solo se d č una costante (o #define).


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 14:43
Martedė, 19/10/2010
Ne ho aperti pių di uno perchč mi ero sbagliata, non sapevo come si modificava la domanda, adesso l'ho capito, sė infatti M[d][d] sicuramente non va, č che non so come porlo visto che d deve essere scelto e va da 2 a 10, poi un'altra cosa che non va č la somma, non so come scriverla

PM
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 15:46
Martedė, 19/10/2010
comunque adesso ho corretto il programma in questo modo, dovrebbe essere corretto ma Dev C++ mi dā errore sulla riga somma_colonna
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  using namespace std;
  3.  char r;
  4.  int M[10][10];
  5.  int vet[10][10];
  6.  int d;
  7.  
  8.  void leggi_matrice(int d, int M[][10]){
  9.  cout<<" inserisci i valori della matrice";
  10.  for ( int i = 0; i <= d; i++){
  11.      for (int j = 0; j <= d; j++){
  12.      cout << "M["<< i <<"]["<< j <<"]=";
  13.      cin >> M [i] [j];}}}
  14.      
  15.  void somma_colonna(int d, int M[][10], int v[]){
  16.      int somma = 0;
  17.      for ( int i = 0; i <= d ; i++){
  18.      for ( int j = 0; j <= d; j++){
  19.     somma += M [j][i];
  20.     v[i] = somma;
  21.     somma = 0;}}}
  22.    
  23.     int main(void)
  24.     {
  25.     int opzione;
  26.  cout << "MENU'" << endl;
  27.  cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl;
  28.   cout <<"a) costruisci la matrice quadrata" << endl;
  29.   cout<< "b) calcola la somma di ogni colonna della matrice :" << endl;
  30.   cin >> opzione;
  31.    
  32.    switch(opzione)
  33.    {
  34.  
  35.     case 'a':
  36.     cout << " scegli la dimensione della matrice quadrata (max 10):";
  37.    cin >> d;
  38.    if (( d >= 2) && ( d<= 10))
  39.     cout << d;
  40.     else cout << "errore" << endl;
  41.    
  42.      cout << "inserisci gli elementi della matrice :";
  43.      leggi_matrice(d, M);
  44.      break;
  45.      
  46.     case 'b':
  47.     cout << " questa opzione somma i valori delle colonne";
  48.     somma_colonna(d, M, v);
  49.      break;}}


    

PM
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 15:55
Martedė, 19/10/2010
esatto, non so dove sbattere la testa, poi io parto proprio da zero, l'ho corretto cosė:
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  using namespace std;
  3.  char r;
  4.  int M[10][10];
  5.  int v[10][10];
  6.  int d == 10;
  7.  int a;
  8.  int b;
  9.  
  10.  void leggi_matrice(int d, int M[][10]){
  11.  cout<<" inserisci i valori della matrice";
  12.  for ( int i = 0; i <= d; i++){
  13.      for (int j = 0; j <= d; j++){
  14.      cout << "M["<< i <<"]["<< j <<"]=";
  15.      cin >> M [i] [j];}}}
  16.      
  17.  void somma_colonna(int d, int M[][10]){
  18.      int somma = 0;
  19.      for ( int i = 0; i <= d ; i++){
  20.      for ( int j = 0; j <= d; j++){
  21.     somma += M [j][i];
  22.     v[i] = somma;
  23.     somma = 0;}}}
  24.    
  25.     int main(void)
  26.     {
  27.     int opzione;
  28.  cout << "MENU'" << endl;
  29.  cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl;
  30.   cout <<"a) costruisci la matrice quadrata" << endl;
  31.   cout<< "b) calcola la somma di ogni colonna della matrice :" << endl;
  32.   cin >> opzione;
  33.    
  34.    switch(opzione)
  35.    {
  36.  
  37.     case 'a':
  38.     cout << " scegli la dimensione della matrice quadrata (max 10):";
  39.    cin >> d;
  40.    if (( d >= 2) && ( d<= 10))
  41.     cout << d;
  42.     else cout << "errore" << endl;
  43.    
  44.      cout << "inserisci gli elementi della matrice :";
  45.      leggi_matrice(d, M);
  46.      break;
  47.      
  48.     case 'b':
  49.     cout << " questa opzione somma i valori delle colonne";
  50.     somma_colonna(d, M);
  51.      break;}}


se potete ditemi dove sono gli errori cosė userō questo programma come esempio per gli altri che farō

PM
Avatar
breath (Normal User)
Newbie


Messaggi: 9
Iscritto: 06/02/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 15:58
Martedė, 19/10/2010
mi scrivi che errori da il compilatore o dove ?

PM
Avatar
Ultimo (Member)
Expert


Messaggi: 513
Iscritto: 22/05/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:01
Martedė, 19/10/2010

    int d == 10;  No

    int d = 10;    Si    :blush:

    


Ultimo (Hai voluto la bicicletta ? ....)

Studiare LINQ, WPF, ASP.NET MVC, Entity Framwork, C#, Blend, XAML, Javascript, HTML5, CSS .....(tanta roba)

https://www.dropbox.com/s/c2aots5x4urgbhf/setup_game_sudoku ...
PM
Avatar
ciao888 (Normal User)
Pro


Messaggi: 69
Iscritto: 14/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:07
Martedė, 19/10/2010
l'ho corretto cosė, non mi dā errore adesso, ma si apre col menų e poi quando premo a per costruire la matrice si chiude il programma
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  using namespace std;
  3.  char r;
  4.  int M[10][10];
  5.  int v[10];
  6.  int d = 10;
  7.  int a;
  8.  int b;
  9.  
  10.  void leggi_matrice(int d, int M[][10]){
  11.  cout<<" inserisci i valori della matrice";
  12.  for ( int i = 0; i <= d; i++){
  13.      for (int j = 0; j <= d; j++){
  14.      cout << "M["<< i <<"]["<< j <<"]=";
  15.      cin >> M [i] [j];}}}
  16.      
  17.  void somma_colonna(int d, int M[][10]){
  18.      int somma = 0;
  19.      for ( int i = 0; i <= d ; i++){
  20.      for ( int j = 0; j <= d; j++){
  21.     somma += M [j][i];
  22.     v[i] = somma;
  23.     somma = 0;}}}
  24.    
  25.     int main(void)
  26.     {
  27.     int opzione;
  28.  cout << "MENU'" << endl;
  29.  cout << " Scegliere una lettera corrispondente all'operazione da svolgere :" << endl;
  30.   cout <<"a) costruisci la matrice quadrata" << endl;
  31.   cout<< "b) calcola la somma di ogni colonna della matrice :" << endl;
  32.   cin >> opzione;
  33.    
  34.    switch(opzione)
  35.    {
  36.  
  37.     case 'a':
  38.     cout << " scegli la dimensione della matrice quadrata (max 10):";
  39.    cin >> d;
  40.    if (( d >= 2) && ( d<= 10))
  41.     cout << d;
  42.     else cout << "errore" << endl;
  43.    
  44.      cout << "inserisci gli elementi della matrice :";
  45.      leggi_matrice(d, M);
  46.      break;
  47.      
  48.     case 'b':
  49.     cout << " questa opzione somma i valori delle colonne";
  50.     somma_colonna(d, M);
  51.      break;}}


PM
Pagine: [ 1 2 ] Precedente | Prossimo