C/Visual C - Ordenamiento estructuras

 
Vista:
sin imagen de perfil

Ordenamiento estructuras

Publicado por sea (11 intervenciones) el 13/04/2018 15:47:50
Hola, necesito ayuda con este codigo. Hay que hacer un ordenamiento de estructura mediante el metodo burbuja, consiste en ingresar nombre y valor, ordenar el valor de forma ascendente y finalmente imprimir el orden en base al nombre, no numeros.
He hecho este codigo y llevo bastante tiempo tratando de dar con la solucion. Espero puedan ayudarme.
Gracias desde ya, saludos.

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
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
 
typedef struct rall
{
	char nombre[50];
	int valor;
}dato;
 
dato arreglo[50];
 
int tamanio(int TAM);
void DigitarValor (dato arreglo[],int p);
void ordenar(int arreglo[],int p);
 
int main()
{
	int p;
	p=tamanio(p);
	DigitarValor(arreglo,p);
	ordenar(arreglo,p);
 
	return 0;
}
int tamanio(int TAM)
{
		printf("Introducir dimension del vector: ");
		scanf("%i",&TAM);
	return TAM;
}
void DigitarValor (dato arreglo[],int p)
{
	int i;
	for(i=0;i<p;i++){
		fflush(stdin);
		printf("\nDigitar nombre: ");
		gets(arreglo[i].nombre);
		printf("Digitar valor: ",i+1);
		scanf("%i",&arreglo[i].valor);
	}
}
void ordenar(int arreglo[],int p)
{
	int i,j,PRO;
	for(i=0; i<p; i++)
	{
		for(j=i+1; j<p; j++)
		{
			if(arreglo[j] > arreglo[j+1])
			{
				PRO = arreglo[j];
				arreglo[j] = arreglo[j+1];
				arreglo[j+1] = PRO;
			}
		}
	}
	printf("\n\nSe mostrara en pantalla por el ordenamiento BubbleSort: \n");
	for(i=0;i<p;i++)
	{
		printf("%s ",arreglo[i].nombre);
	}
}
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: 185
Bronce
Ha aumentado 1 puesto en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ordenamiento estructuras

Publicado por carlos (95 intervenciones) el 21/04/2018 01:42:14
A vale perdon no lei que querias letras

A ver pero ¿el ordenamiento es el nombre y luego cuando lo ordenes sea el numnero + nombre? 1-a 2-b Ordenado 10-a 9-b
¿O como?

, ordenar el valor de forma ascendente y finalmente imprimir el orden en base al nombre, no numeros
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