logicamente, visto che uso il C(o Java), e il C++ lo conosco pochino, ti potrei dire, considerando il fatto che il numero di asterischi può essere dinamico(cioè puoi inserire 7 numeri tipo: 1, 5,1000000,1230 etc... se non ho capito male) di farti una matrice[(MAX +1),7] dove 7 è il numero di COLONNE(e di numeri che devi immettere) e MAX + 1(RIGHE) con MAX il massimo numero immesso
(ricerca del massimo è una semplice funzione lineare)
dopodiche:
uso un codice C che mi è + familiare cmq lo puoi trasportare in C++
codice:#define MAXIMM 7 //il numero massimo di numeri da immettere int numeri[MAXIMM]... /*qui inserisci i numeri immessi è scritto male ma si capisce*/ int max = ... /*qui ci metti il massimo tra i numeri inseriti prima nel vettore lo trovi utilizzando una banale funzione di ricerca del massimo*/ int matrice[max+1][MAXIMM]; int i, j, count; //indici /*inserisco nell'ultima riga della matrice i numeri immessi*/ for(j = 0; j< MAXIMM;j++){ matrice[max][i] = numeri[i]; } /*per ogni colonna inserisco partendo da indice di riga i = (max -1) gli asterischi*/ for(j = 0; j<MAXIMM;j++){ /*contatore di asterischi che devo memorizzare in questa var di appoggio perchè verra decrementato nel ciclo sotto*/ count = matrice[max][j]; i = (max - 1); //indice di riga che vedo dal basso all'alto while((count > 0) && (i >= 0)){ matrice[i][j] = '*'; i--;count--; } } /*stampa*/ for(i = 0; i<(max+1);i++){ for(j = 0; j<MAXIMM;i++){ if(i = max) //stampo i numeri finali printf("%d ", matrice[i][j]); else //stampo il char printf("%c ", matrice[i][j]); } }
scusami se è in C... ma la logica dovrebbe funzionare...
ciauz
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()

Rispondi quotando