Advertisement
u53r

Array n posizioni con numeri casuali, ordinamento crescente

Nov 6th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. /*
  2.  Dato un vettore di "n" posizioni caricato con numeri casuali, ordinarlo in modo crescente
  3.  N.B: qui viene usata una semplice implementazione dell'algoritmo Bubble Sort
  4. */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <time.h>
  8.  
  9. int main() {
  10.   int n,j,i,swp; // n = dimensione dell'array; j,i = contatori; swp = variabile temporanea per lo scambio
  11.   printf("Inserisci la dimensione del vettore --> ");
  12.   scanf("%d", &n); // Chiedo in input la dimensione
  13.   int v[n]; // Creo un array di interi di dimensione "n"
  14.   srand(time(NULL)); // Inizializzo il seed per la generazione di numeri casuali
  15.   printf("VETTORE DISORDINATO:\n");
  16.   // Popolo l'array con numeri casuali e li stampo di volta in volta
  17.   for (j = 0; j < n; j++) {
  18.     v[j] = rand();
  19.     printf("n. %d --> %d\n",j,v[j]);
  20.   }
  21.  
  22.   // Eseguo l'ordinamento tante volte quanti sono gli elementi dell'array
  23.   for (j = 0; j < n; j++) {
  24.     // Ordinamento
  25.     for (i = 0; i < n-1; i++) {
  26.       if (v[i] > v[i+1]) { // Se un elemento รจ maggiore del successivo, allora scambio le posizioni nell'array
  27.         swp = v[i]; // Salvo il valore del primo elemento nella variabile tmp
  28.         v[i] = v[i+1]; // Salvo il valore del successivo nel primo elemento
  29.         v[i+1] = swp;  // Assegno al successivo il valore originale del primo elemento
  30.       }
  31.     }
  32.   }
  33.  
  34.   //Stampo l'array dopo l'ordinamento
  35.   printf("\n\n\nVETTORE ORDINATO:\n");
  36.   for (j = 0; j < n; j++) {
  37.     printf("n. %d --> %d\n", j, v[j]);
  38.   }
  39.   return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement