|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2008
Messaggi: 294
|
[C]aiuto su piccolo programmino..
ciao a tutti,devo risolvere questo piccolo programma:data una matrice da tastiera calcola i massimi per ogni riga e visualizza a video il vettore contenente i massimi...io ho già impostato il programma però nn riesco a impostare la funzione per trovare il massimo su ogni riga infatti il programma ke ho fatto e ke adesso posto calcola quanti massimi ci sn nella matrice(il ke è inutile)....
|
![]() |
![]() |
![]() |
#2 | |
Junior Member
Iscritto dal: Jan 2009
Messaggi: 8
|
Quote:
successivamente prendi la prima riga e la inizi a scansionare... prendi il primo elemento della matrice e lo assegni a max, e poi tramite l'uso del for, scansioni passo per passo la prima riga facendo confronti (all'interno del for) con gli elementi successivi... fintanto che max >= array[i] allora il massimo rimarrà max, nel momento in cui max < array[i] allora assegni il nuovo massimo e quindi max = array[i] finita di scansionare la riga, piazzi max in new_array[j] (l'array contenente tutti i massimi) dove j è inizializzato a 0 e cresce ogni volta che viene inserito un massimo all'interno di new_array non so se sono stato abbastanza chiaro XD ora sarebbe da prendere questo discorso e procedere alla stesura dell'algoritmo... ricordati che prima di procedere a fare un algoritmo, prima pensalo... poi vai a bere un the... lo trascrivi a parole (come ho fatto io sopra), e poi provi a tradurre quel che hai scritto a parole in codice... Ultima modifica di na-kun : 29-01-2009 alle 21:32. |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Visto che c'è un massimo per riga l'array dei massimi sarà di grandezza n
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
if(mat[i]>mat[i][j])
Questo cosa dovrebbe significare? Non ho compilato, ma così ad occhio è anche un errore sintattico... Forse intendevi "se mat[i][j] è maggiore del massimo, allora è lui il nuovo massimo"? |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Nov 2008
Messaggi: 294
|
si,hai ragione,modificando e mettendo mat[i][j]>max mi esce il max ma di tutta la matrice,per far uscire il massimo di ogni singola riga cm devo fare?
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Però sei probabilmente uno studente, quindi non mi va di imboccarti così la soluzione... Innanzitutto, puoi postare il tuo nuovo codice? Solo la funzione che trova il/i massimo/i
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Nov 2008
Messaggi: 294
|
adesso la posto,cmq sn uno studente ma sto studiando per fare l'esame,questi aiuti mi servono a capire un pò di più visto ke nn sn molto bravo con il c...
|
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Quote:
Questo è il pezzo incriminato: Codice:
short int calcoloMassimi(short int mat[][DIM],short int riemp) { short int i,j,max=0; for(i=0;i<riemp;i++) for(j=0;j<riemp;j++) if(mat[i][j]>max) max=mat[i][j]; return max; } Se qualcosa non ti è chiaro, chiedi pure ![]() Cerca di essere un attimino conformista nell'indentazione -.- E visto che è un programma c, chiamalo programma.c |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Guardando il programma nella sua interezza, ci sono anche altre cose che non vanno. Ad esempio, sei sicuro che l'utente ti inserisca una matrice quadrata?
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Nov 2008
Messaggi: 294
|
no,la matrice può essere di ogni tipo
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Però per prima cosa comincerei almeno a farlo funzionare almeno per le matrici quadrate :P
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:34.