Dev - C++ - Ayuda con Ordenamiento por selección e inserción para 100 datos

 
Vista:
sin imagen de perfil
Val: 60
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con Ordenamiento por selección e inserción para 100 datos

Publicado por Patricio (25 intervenciones) el 31/03/2019 20:42:20
Hola como estan, gracias por la ayuda
mi problema es como hago para que generar un array de datos random entre 50 y 100 datos con valores aleatorios numericos entre 10 y 30??.

Trate de hacer varios programas pero no entiendo como hacer un array random, donde el tamaño del array varie entre 50 y 100 y ademas los datos sean random entre 10 y 30.

Vale decir, primer intento, salen un array de 53 elementos, con datos random entre 10 y 30, imprimo y ordeno por ordenamiento por seleccion y cuento cantidad de intercambios y vuelvo a imprimir

segundo intento: array de 81 elementos con valores random entre 10 y 30. imprimo y ordeno por ordenamiento por seleccion y cuento cantidad de intercambios y vuelvo a imprimir

Como hago esto mismo pero para metodo de insercion? Dado al tamaño de datos el programa demorara un poco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 60
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con Ordenamiento por selección e inserción para 100 datos

Publicado por Patricio (25 intervenciones) el 31/03/2019 21:01:07
Esto es lo que estoy haciendo pero por algun motivo no toma los valores random en el array DATA[funcion_aleatoria(50,100)] y cuando lleno el arreglo, los datos son random pero son todos el mismo y no cambian.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
 
 
int i,n,cont;
void insercionsort (int array[]){
	int i,j, temp;
	cont = 0;
	for (i=0;i<5;i++){
		for (j=i;j>0;j--){
			if (array[j-1]>array[j]){
				temp = array[j-1];
				array[j-1]=array[j];
				array[j] = temp;
				cont ++;
			}
		}
	}
}
 
int funcion_aleatoria(int li, int ls){ // FUNCION RANDOM
	int numero;
	srand(time(NULL));
	numero = 0;
	numero = li + rand()%((ls+1)-li);
	return numero;
}
 
int main () {
        int Arrayrandom = funcion_aleatoria(50,100);
	int Datorandom = funcion_aleatoria(10,30);
	int Data[Arrayrandom]; //El tamaño del array deberia variar entre 50 y 100 pero no funciona
	int numero;
	srand(time(NULL));
	printf ("\n\t  Llenando el arreglo \n");
	for (i=0;i<Arrayrandom;i++){                        //En el for meto Arrayrandom para que se llene el array completo
		Data[i]=Datorandom; // estoy llenando el array con datos random del 10 al 20
                printf("\n %d",Data[i]);      //, pero si sale, ej 16, todos los datos son 16
	}
	cont = 0 ;
	insercionsort (Data);
	printf ("\n\t  Cantidad de Operaciones realizadas  %d :", cont);
           printf ("\n\t  Array Ordenado : ");
	for (i=0;i<Arrayrandom;i++){
		printf ("\n  %d", Data[i]);
}
return (0);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 60
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con Ordenamiento por selección e inserción para 100 datos

Publicado por Patricio (25 intervenciones) el 31/03/2019 21:28:24
Arregle el tema de los datos pero como hago para que el insercionsort (int array[]){ de la linea 8 del codigo tome el mismo valor que Arrayrandom????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 60
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con Ordenamiento por selección e inserción para 100 datos

Publicado por Patricio (25 intervenciones) el 31/03/2019 22:03:16
Gracias de igual modo a todos, ya pude resolver el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar