Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4

    PROBLEMA! Se qualcuno può aiutarmi...

    Sono stata rimandata in informatica e per casa ho dovuto svolgere degli esercizi... In linea di massima mi sono trovata su tutti, ma c'è ne uno relativamente semplice che mi sta dando problemi non ne salto fuori in nessun modo...

    Devo completare le parti dove ci sono i puntini di sospensione e poi provarlo con il turbo c.
    La procedura dividi fa la spartizione del vettore, mentre SCAMBIO scambia i
    valori delle due variabili che le vengono passate come parametri.



    void dividi(int V[ ], … , … , int conf) {
    while(V[isx]<conf) isx++;
    while(V[idx]>conf) idx--;
    if (isx<=idx) {
    scambio(V[isx],V[idx]);
    isx++; idx--;
    dividi( … , … , … , …);
    }
    return;
    }
    void quick1(int V[], int sx, int dx) {
    if (sx<=dx) {
    int s=sx,d=dx;
    dividi( … , … , … ,V[(sx+dx)/2]);
    if (sx<d) quick1(V,sx,d);
    if (s<dx) quick1(V,s,dx);
    }
    return;
    }
    void main () {
    const int N=10; int vet[N];
    quick1(vet, … , … );
    … }


    QUALCUNO MI PUò AIUTARE?

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4
    scusa non so cosa vuoi dire... per me parli arabo, non sono pratica di queste cose

  4. #4
    Indentare è una cosa fondamentale nella programmazione.
    http://it.wikipedia.org/wiki/Indentazione

    Per quanto riguarda il tag CODE, mi riferivo a quel pulsantino con la # sopra.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4
    ah ok..avevo copia incollato dal testo che mi han dato... tu ha i idea di come si faccia questa cosa?

  6. #6
    Potrebbe essere qualcosa come:
    codice:
    void dividi(int *v, int isx , int idx , int conf);
    void quick1(int *v, int sx, int dx);
    
    int main(void) {
    
       int vet[10];
    
       quick1(vet, …, …);
    
       return 0;
    
    }
    
    void dividi(int *v, int isx , int idx , int conf) {
    
       while(v[isx]<conf) isx++;
       while(v[idx]>conf) idx--;
    
       if (isx<=idx) {
    
          scambio(v[isx++], v[idx--]);
          dividi(v, ..., ..., ...);
    
       }
    
    }
    
    
    void quick1(int *v, int sx, int dx) {
    
       if (sx <= dx) {
    
          int s = sx;
          int d = dx
    
          dividi(v, ..., ..., v[(sx+dx)/2]);
    
          if (sx<d) quick1(v, sx, d);
          if (s<dx) quick1(v, s, dx);
    
       }
    
    }
    Non hai indicato la traccia dell'esercizio, ma da quel che ho capito si tratta di quicksort.
    Ti ho corretto alcune parti e l'impostazione generale.
    Se hai dubbi chiama.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    4
    Ti ringrazio, però lo scopo dell'esercizio è proprio quello di riempire i posti dove ci sono i puntini di sospensione..in pratica devo dire quali sono le variabili che devo passare nelle varie funzioni ma non riesco..

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Leggere il regolamento prima di postare:
    1) Il linguaggio va sempre indicato nel titolo
    2) Il titolo deve dare una breve descrizione del problema affrontato
    3) Il codice va indentato e racchiuso nei tag [code] e [/code] per renderlo leggibile.
    4) Nel forum non si viene a chiedere di svolgere i propri esercizi... si può portare una soluzione e cercare di chiarirla insieme.

    Credo che sia più facile se riapri una nuova discussione, seguendo il regolamento e proponendo una tua soluzione per cercare di correggerla.


    Questa la devo chiudere.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.