[ create a new paste ] login | about

Link: http://codepad.org/M76CQgHg    [ raw code | output | fork ]

appunti2 - C, pasted on May 1:
#include <stdio.h>
#include <stdlib.h>

char *input_argv[] = { "prog.c", "12", "10", "17", "1", "22" };     // al posto di argv[]
int   input_argc   = sizeof (input_argv) / sizeof (input_argv[0]);  // al posto di argc

void
bsort (int lista[], int a, int z)
{
    int scambio;
    int k;

    if (a < z)
      {
        // Scansione interna dell'array per collocare nella
        // posizione a l'elemento giusto.

        for (k = a+1; k <= z; k++)
          {
            if (lista[k] < lista[a])
              {
                // Scambia i valori.

                scambio = lista[k];
                lista[k] = lista[a];
                lista[a] = scambio;
              }
          }

        bsort (lista, a+1, z);
      }
}

int
main (int argc, char *argv[])
{
    int *lista = (int *) malloc ((input_argc - 1) * sizeof (int));
    int i;

    // Considera gli argomenti come gli elementi
    // dell'array da ordinare.

    for (i = 1; i < input_argc; i++)
      {
        sscanf (input_argv[i], "%i", &lista[i-1]);
      }

    // Esegue il riordino.

    bsort (lista, 0, input_argc-2);

    // Emette il risultato.

    for (i = 0; i < (input_argc-1); i++)
      {
        printf ("%i ", lista[i]);
      }
    printf ("\n");

    return 0;
}


Output:
1
1 10 12 17 22 


Create a new paste based on this one


Comments: