Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] Ricerca dicotomica

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23

    [C] Ricerca dicotomica

    Buonasera !
    Sono alle prese con l'algoritmo di ricerca dicotomica. Ho scritto il programma ma nel momento in cui verifico se ci sono errori mi compare sempre questo msg "||=== Build finished: 1 errors, 0 warnings===| ". Non capisco dove sia il problema, potreste aiutarmi?

    Codice:
    codice:
     #include <stdio.h>#include <stdlib.h>
    
    
    int binaria(int*, int, int);
    
    
    int main(){
    int v[30], dim, i, n, ricerca;
    
    
    printf("Inserisci la dimensione del vettore\n");
    scanf("%d", &dim);
    
    
    printf("Inserisci elementi nel vettore:\n");
    for(i=0; i<dim; i++)
    scanf("%d", v[i]);
    
    
    printf("Inserisci l'elemento da cercare\n");
    scanf("%d", &n);
    
    
     ricerca=binaria(v,dim,n);
      if(ricerca!=-1){
       printf("Elemento trovato in posizione %d\n", ricerca);
       }
       else {
        printf("Elemento non trovato!\n");
       }
    
    
    sistem("pause");
    return 0;
    }
    
    
    
    
    int binaria(int *p, int elm, int lug) {
    int inz=0;
    int med;
    int fin=lug-1; /*La fine del vettore*/
    
    
     while(inz<=fin) {
      med=(inz+fin)/2;
      if(p[med]==elm) {
        return med;
        }
      else
       if(p[med]<elm){
         inz=med+1;
          }
        else {
         fin=med-1;
        }
     }
    return -1;
    }

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Di sicuro un errore è la chiamata a sistem che si scrive system.

    In ogni caso è buona prassi postare tutto il testo del messaggio d'errore.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23
    Si l'errore era appunto la parola "sistem" che involontariamente ho scritto male, comunque adesso non segna errori ma non gira.

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Hai scambiato dim e n nella chiamata a funzione.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23
    Devo scrivere così: ricerca=binaria(v,n,dim); ?

Tag per questa discussione

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.