No se si estoy cometiendo alguna locura con el codigo, asi que si hay algun error muy grave perdonadme T_T
-------------------
He hecho un fichero con varios modulos:
El primero se llama ordenacion y he puesto lo siguiente (lo he probado y funciona bien)---
#include <stdio.h>
#include <stdlib.h>
#include "burbujamejorada.h"
//Cabecera: burbuja_mejorado(E/S vect:v, E entero: n)
//Precondicion: n>0 y n pertence a los numeros naturales. V es un vector de n elementos.
//Postcondicion: Vector v con los elementos ordenados ascendentemente.
void burbuja_mejorado(int *vector, int tam)
{
int i,j,aux,no_interc;
i=0;
do{
no_interc=1;
for(j=0;j<tam-i-1;j++){
if(vector[j]>vector[j+1]){
aux=vector[j+1];
vector[j+1]=vector[j];
vector[j]=aux;
no_interc=0;}}
i++;
}while(no_interc==1);
}
Otro modulo que genere un vector aleatorio (que tambien funciona correctamente)----
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "generar_vector.h"
int generar_vector_aleatorio(int *vector,int tam){
int i;
srand(time());
for(i=0;i<tam;i++)
{
vector=rand();
}
}
Otro módulo con el vector ya ordenado crecientemente (este no se si funciona porque no me ha dado tiempo a comprobarlo):
#include <stdio.h>
#include <stdlib.h>
#include "vector_creciente.h"
vector_creciente(int vector, int tam)
{
int aux,i ;
generar_vector_aleatorio(vector,tam);
burbuja_mejorada(vector,tam);
for(i=0;i<tam;i++){
vector[aux]=vector[tam-i];
vector[tam-i]=vector;
vector=vector[aux];
}
}
Y ahora, me centro en el principal, no se si hacer una funcion a parte ni como podria ser o si hay alguna manera mas facil... ni idea
:::#include <stdio.h>
#include <stdlib.h>
#include "principal.h"
int main(){
int vector,tam,cont;
printf("tamaño del vector");
scanf("%i",&tam);
vector= (int*) malloc (tam*sizeof(int));
vector_creciente(vector,tam);
Desde aqui ya no se como seguir... ni siquiera se como expresarlo de otra manera T_T o si hay alguna forma muchisimo más rapida que esta...

