erlug
[Top] [All Lists]

Re: [Erlug] programma C

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] programma C
From: "Ivan Sergio Borgonovo" <mail@xxxxxxxxxxxxxxx>
Date: Wed, 27 Mar 2002 17:13:30 +0100
On 27 Mar 2002 at 16:47, Simone Saravalli wrote:

> Salve a tutta la lista, ho un problema che non riesco a risolvere: ho
> trovato l'algoritmo che riporto qui di seguito su un libro, l'ho modificato
> leggermente, ma al momento dell'esecuzione mi dà un problema:
> sostituisce il valore più grande che io immetto con un valore arbitrario
> (spesso il numero di elementi che specifico nel #define). Non riesco a
> capire dove sia l'errore, anche perchè si tratta solo di una rivisitazione
> dell'algoritmo Bubblesort che con le stesse modifiche funziona
> perfettamente.
> Mi affido a voi e grazie
>
> Simone
>
> PS spero che sia scritto bene, perchè non programmo da molti mesi :)
> #include <stdio.h>
>
> #define MAX 5
>

OKKIO non lo ho compilato.... ne eseguito!!!


void bubble_opt (int array[], int n, int inizio, int fine) {
   int count, limit, last, temp;
   limit=fine;
   while (limit>inizio) {
      last=inizio;
      for (count=inizio; count<=limit; count++) {
         if (array[count+1]<array[count]) {
            //           ^count arriva a limit, limit=fine, fine=MAX-1,
array[count+1]=array[MAX] ooops
            temp=array[count+1];
            array[count+1]=array[count];
            array[count]=temp;
            last=count;
            }
         }
      limit=last;
      }
   }

void stampa (int array[], int n) {
   int count;
   for (count=0; count<n; count++)
      printf ("%d\t", array[count]);
   }

main() {
   int count, n=MAX, inizio=0, fine=MAX-1, array[MAX];
   for (count=0; count<MAX; count++) {
      printf ("\nInserisci l'elemento numero %d: ", count+1);
      scanf ("%d", &array[count]);
      }
   bubble_opt (array, n, inizio, fine);
   //          ^passa una ref.
   stampa (array, n);
   return 0;
   }

--
Salve
Ivan Sergio Borgonovo
http://www.webthatworks.it/
uniq life || sleep 24h



<Prev in Thread] Current Thread [Next in Thread>