Accedi

Vettore casuale ordinato

PROBLEMA

Scrivere un programma che generi casualmente 30 numeri interi di valore minore di 1000, li memorizzi in un vettore, cancelli I doppi presenti sostituendoli con 0 e stampi il vettore iniziale e quello ordinato in senso crescente


CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 30

int main(int argc, char *argv[]){
 int i, j, temp;
 int a[N];
 int b[N];
 srand(time(NULL));
 for (i=0; i<N; i++){
  a[i]=rand()%1000;
 }
 printf("Vettore senza modifiche:\n");
 for (i=0; i<N; i++){
  printf("\t%i\n", a[i]);
 }
 for(i=0; i<N-1; i++)
 {
  for (j=i+1; j<N; j++)
  {
   if (a[j]==a[i])
   {
    a[j]=0;
   }
  }
 }
 for(i=0; i<N-1; i++)
 {
  for (j=i+1; j<N; j++)
  {
   if (a[j]<a[i])
   {
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
   }
  }
 }
 printf("Vettore con modifiche:\n");
 for (i=0; i<N; i++){
  printf("\t%i\n", a[i]);
 }
 system("PAUSE");
 return 0;
}