direccion y sentido de un vector code example

Example 1: vector aleatorio sin repetir

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>

#define TAM 10
/*
	Realizar un programa que rellene de forma aleatoria un vector
	de 10 elementos con valores aleatorios entre 0 y 9 de forma
	que no se repitan.
*/

void rellenar(int v[]){// 0      1           9
	bool usados[TAM]; // false, false, ..., false
	int valor;

	for(int i = 0; i < TAM; i++){
		usados[i] = false;
	}
	for(int i = 0; i < TAM; i++){
		do{
			valor = rand() % 10;
		}while(usados[valor] == true);
		usados[valor] = true;
		v[i] = valor;
	}
}

void imprimir(int v[]){
	for(int i = 0; i <= TAM - 1; i++){
		printf("vector[%d]: %d\n", i, v[i]);
	}
}

int main (){
	int v[TAM];
	rellenar(v);
	imprimir(v);

	return 0;
}

Example 2: ordenar un vector

//de menor a mayor
void ordenar(int v[], int size){
  int i, j, aux;

  //ALGORITMO DE BURBUJA
  for (i = 0; i < size - 1; i++){
     for (j = i + 1; j < size; j++){
      if(v[i] > v[j]){
       aux = v[i];
       v[i] = v[j];
       v[j] = aux;
      }
    }
  }

  printf("\n");
  for(int i = 0; i <= size - 1; i++){
    printf("vector[%d]: %d\n", i, v[i]);
  }
}

//de mayor a menor
void ordenar_mayor_menor(int *v, int tam){
	int i, j, aux;

	for(i = 1; i < tam; i++){
		for(j = tam - 1; j >= i; j--){
			if(v[j] > v[j-1]){
				aux = v[j];
				v[j] = v[j-1];
				v[j-1] = aux;
			}
		}
	}
}

Tags:

C Example