|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Vercelli
Messaggi: 643
|
divide et impera?
ciao a tutti,ho avuto un esame in cui dovevo fare un programma divide et impera in grado,partendo da un vettore di interi,dividere i numeri all'interno di tale vettore in >;<;= ad un certo numero "v".
Il tutto era da fare in uno pseudocodice. io l'ho fatto cosi',mi ssapete dire se è giusto?: f(int A[],int v,int i,int j){ if(i==j) { if(A[i]<v) r.min++; if(A[i]>v) r.max++; if(A[i]==v) r.ugl++; } else{ int m=INF((j+j)/2); f(A,v,i,m); f(A,v,m+1,j); } return r; } GRAZIE! Ultima modifica di robertinik83 : 06-04-2005 alle 20:47. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
i e j cosa rappresentano? r cos'è?
if(A[i]=v) sarà sempre true, meglio A[i] == v int m=(j+j)/2; questa addizione non ha molto senso... r non credo sia un'int...sarà una struttura...non puoi fare return r con una funzione che ritorna int. onestamente non so cos'è uno pseudocodice... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Vercelli
Messaggi: 643
|
allora i e j sono gli indici di inizio e fine Array (inizialmente avranno un valore rispettivo di 0 e A.length-1).
m trova la metà del vettore A r è la struttura che dovrebbe contenere il numero di valori presenti nel vettore A che sono ><= a v Ultima modifica di robertinik83 : 06-04-2005 alle 20:49. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Vercelli
Messaggi: 643
|
nessuno sa darmi una risposta?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:19.



















