enlallaca (Normal User)
Newbie
Messaggi: 19
Iscritto: 13/03/2010
|
ciao a tutti, è il primo topic che apro dunque scusate di eventuali errori "tecnici"
Sto facendo un programma in c++ (utilizzo dev c++) e ora sono arrivata ad una parte che ad esempio inserita dell utente questa matrice
0 3 2 0 0
0 0 9 0 0
9 2 3 3 3
0 0 0 0 0
devo fare dei controlli per ricercare la posizione degli 1 e una volta trovato l'3 e la posizione devo controllare le celle attorno che lo racchiudono se ci sono altri 3, ma come faccio? So che servono cicli for ma non capisco come impostarli..
Grazie a tutti gia in anticipo...
|
|
Overflow (Normal User)
Expert
Messaggi: 334
Iscritto: 11/01/2008
|
Ciao ti posto il codice che sono riuscito a fare:
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <stdio.h> using namespace std; void InserisciMat(int mat[][5]); int TrovaValore(int mat[][5],int valore, int* riga, int* colonna); int main() { int mat[4][5]; int riga[4]; int colonna[5]; int res = 0; InserisciMat(mat); res = TrovaValore(mat,3,riga,colonna); for (int i =0; i <res;i++) cout << "valore trovato in: [" << riga[i] << "," << colonna[i] << "]" << endl; return 0; } int TrovaValore(int mat[][5],int valore, int* riga, int* colonna) { /* la funzione memorizza la posizione (riga e colonna) del valore da cercare, la funzione restituisce il numero di volte in cui è presente il valore, altrimenti 0 se non c'è */ int n=0; int res = 0; for (int i =0; i <4;i++) { for (int j = 0;j < 5; j++) { if (mat[i][j] == valore) { riga[n]=i; colonna[n++]=j; res += 1; } } } return res; } void InserisciMat(int mat[][5]) { /* inserisco i dati nella matrice */ for (int i=0; i<4;i++) { for(int j = 0;j <5;j++) { cout << "Inserisci elemento: ["<< i << "," << j << "]" << endl; cin >> mat[i][j]; } } }
|
c'è la funzione InserisciMat che inserisce in una matrice 4X5 i dati dell'utente.
La funzione TrovaValore trova appunto un valore (esempio 3) e ne salva le cordinate in due vettore uno colonna e uno riga(quindi riga[0] e colonna[0] sono le cordinate del primo 3 che viene trovato nel tuo esempio [0,1] se non ricordo male), sarebbe stato meglio utilizzare una struttura ma non conosco il tuo livello di preparazione quindi ho usato due semplici vettori.
Sono bastati due semplici for, uno che scorre le righe e l'altro le colonne.
|
|
enlallaca (Normal User)
Newbie
Messaggi: 19
Iscritto: 13/03/2010
|
credo di aver capito...
grazie mille....
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
cameriere tavolo 4!
|
|
Overflow (Normal User)
Expert
Messaggi: 334
Iscritto: 11/01/2008
|
Postato originariamente da HeDo:
cameriere tavolo 4! |
so che non avrei dovuto postare il codice, ma spero che non si sia limitata a copiare il mio codice ma che abbia cercato di capirne il funzionamento, la logica. Comunque nell'altro post ha scritto di aver capito! Speriamo bene allora... |
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da Overflow:
Postato originariamente da HeDo:
cameriere tavolo 4! |
so che non avrei dovuto postare il codice, ma spero che non si sia limitata a copiare il mio codice ma che abbia cercato di capirne il funzionamento, la logica. Comunque nell'altro post ha scritto di aver capito! Speriamo bene allora... |
non voglio fare di tutta l'erba un fascio, ma una ragazza che chiede in un forum di programmazione vuole semplicemente il compito fatto. Il prossimo compito le verrà suggerito da qualcun ALTRO.
sottolineo il maschile.
P.S magari semplicemente non è una ragazza... |
|
enlallaca (Normal User)
Newbie
Messaggi: 19
Iscritto: 13/03/2010
|
Postato originariamente da Overflow:
Postato originariamente da HeDo:
cameriere tavolo 4! |
so che non avrei dovuto postare il codice, ma spero che non si sia limitata a copiare il mio codice ma che abbia cercato di capirne il funzionamento, la logica. Comunque nell'altro post ha scritto di aver capito! Speriamo bene allora... |
si sono una ragazza ma è la prima volta che chiedo aiuto! mi sono sempre arrangiata fin ora... sbaglio o ci sta un po' di maschilismo sotto?!!!? |
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da enlallaca:
si sono una ragazza ma è la prima volta che chiedo aiuto! mi sono sempre arrangiata fin ora... sbaglio o ci sta un po' di maschilismo sotto?!!!? |
io sto parlando in generale, come ho già detto, è sempre sbagliato fare di tutta l'erba un fascio, ma visto che ne ho viste tante, ma tante, tutte con lo stesso atteggiamento, parto sempre con un po di diffidenza verso queste cose. |
|
enlallaca (Normal User)
Newbie
Messaggi: 19
Iscritto: 13/03/2010
|
Postato originariamente da enlallaca:
Postato originariamente da Overflow:
Postato originariamente da HeDo:
cameriere tavolo 4! |
so che non avrei dovuto postare il codice, ma spero che non si sia limitata a copiare il mio codice ma che abbia cercato di capirne il funzionamento, la logica. Comunque nell'altro post ha scritto di aver capito! Speriamo bene allora... |
si sono una ragazza ma è la prima volta che chiedo aiuto! mi sono sempre arrangiata fin ora... sbaglio o ci sta un po' di maschilismo sotto?!!!? |
a....beh io programmo per piacere personale dunque non mi giovirebbe nulla copiare perchè me la faccio solo a me...io voglio imparare non copiare! |
|