Sviluppare una function C che, dati come parametri di input un array di int, il suo size e
un int k, determina e restituisce come parametro di output il k-imo piu grande elemento
dell'array
che vuol dire il k-imo
elemento che dovrei restituire??
Sviluppare una function C che, dati come parametri di input un array di int, il suo size e
un int k, determina e restituisce come parametro di output il k-imo piu grande elemento
dell'array
che vuol dire il k-imo
elemento che dovrei restituire??
codice:code
Se ad esempio k vale 5 significa che la tua funzione deve restituire il quinto elemento più grande presente nell'array (in pratica ordini l'array e poi restituisci quello di indice k...).Originariamente inviato da asteroid
Sviluppare una function C che, dati come parametri di input un array di int, il suo size e
un int k, determina e restituisce come parametro di output il k-imo piu grande elemento
dell'array
che vuol dire il k-imo
elemento che dovrei restituire??
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
A parte il fatto che deve restituire quello di indice k-1;Originariamente inviato da Alex'87
Se ad esempio k vale 5 significa che la tua funzione deve restituire il quinto elemento più grande presente nell'array (in pratica ordini l'array e poi restituisci quello di indice k...).
se ci sono doppioni in mezzo, la soluzione da adottare non è propriamente questa.
Era solo indicativa, volevo farlo ragionare un attimo sulla soluzione...Originariamente inviato da VincenzoTheBest
A parte il fatto che deve restituire quello di indice k-1;
se ci sono doppioni in mezzo, la soluzione da adottare non è propriamente questa.![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Ok AlexOriginariamente inviato da Alex'87
Era solo indicativa, volevo farlo ragionare un attimo sulla soluzione...![]()
![]()
dovrei restuire l'indice in questo caso k, dell'elemento massimo che contiene l'array...
da come ho capito...![]()
codice:code
codice:#include <stdio.h> #include <stdlib.h> int ric_max(int[],int,int); int main(int argc, char *argv[]) {int a[100]; int k; int n; int val; printf("inserisci il size :"); scanf("%d",&n); printf("inserisci elementi :"); for(k=0;k<n;k++) scanf("%d",&a[k]); val=ric_max(a,k,n); printf("il k_imo del massimo:%d\n",val); system("PAUSE"); return 0; } int ric_max(int a[],int k,int n) { int massimo=a[0]; int i; k=0; for(i=0;i<n;i++) if(a[i]>massimo){ massimo=a[i]; k=i; } return k; }
codice:code
Non è corretto l'algoritmo, perchè restituisce sempre l'indice del primo massimo.
No. Devi restituire l'indice del k-esimo massimo. Se il tuo array contieneOriginariamente inviato da asteroid
dovrei restuire l'indice in questo caso k, dell'elemento massimo che contiene l'array...
da come ho capito...![]()
[1, 10, 2, 5, 8, 20]
e k = 3 tu dovrai restituire l'indice del terzo massimo presente, in questo caso 4 (ricorda che si parte da zero).
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI