Comunidad de diseño web y desarrollo en internet online

turbo c++

Citar            
MensajeEscrito el 26 Ago 2005 05:28 am
holas tengo un problema sobre estructuras anidadas y quicksort:
struct Usuario{
cad20 nombre;
cad20 apellido1;
};

struct Libro{
cad40 autor;
cad6 ejemplares;
};
struct Biblioteca {
Usuario usuario;
Libro libro;
};
/****NECESITO ORDENAR POR APELLIDO AQUI EN ESTA FUNCION********/

void quicksort_user(Biblioteca *biblio,int primero,int ultimo)
{
int i,j,central;
Biblioteca aux;
i=primero;
j=ultimo;
central=(primero+ultimo)/2;
/***********EN ESTA PARTE stricmp( biblioteca[i].usuario.apellido, biblioteca[central].usuario.apellido1) QUISIERA Q ME AYUDEN POR FAVOR
COMPILO Y ME SALE ERROR CREO Q ES POR QUE ESTA MAL LA UTLIZACION DE ESOS PUNTOS RESPECTO A LA ESTRUCTURAS O TAL VS POR LO Q SON PUNTEROS QUISIERA SABER COMO DEBERIA SER LA COMPÁRACION.....
ES DECIR QUIERO ORDENAR REGISTROS DE ACUERDO AL APELLIDO DEL USUARIOaux=biblioteca.usuario[i];biblioteca.usuario[i]=biblioteca.usuario[j];biblioteca.usuario[j]=aux; Y NECESITO HACERLO ASI CON ESTRUCTURAS ANIDADAS********/
do
{ while( ( stricmp( biblioteca[i].usuario.apellido, biblioteca[central].usuario.apellido1)<0) && i<ultimo)
i++;
while( ( stricmp(biblioteca[j].usuario.apellido, biblioteca[central].usuario.apellido1)>0) && j>primero)
j--;
if(i<=j)

{
aux=biblioteca.usuario[i];
biblioteca.usuario[i]=biblioteca.usuario[j];
biblioteca.usuario[j]=aux;
i++;
j--;
}
}while(i<=j);
if(primero<j)
quicksort_user(arreglo,primero,j);
if(i<ultimo)
quicksort_user(arreglo,i,ultimo);
}

Por juan_gv

108 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ago 2005 02:38 pm
que es cad40, cad6, cad20, de donde sacaste eso? son otras estructuras? :?

aqui:biblioteca[j].usuario.apellido

tu estructura el campo de tu estructura es apellido1
biblioteca[j].usuario.apellido1

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 26 Ago 2005 02:42 pm
declara los campos de la estructura Usuario asi:

Código :

char *nombre;
char *apellido1;

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 26 Ago 2005 04:46 pm
ehhh bueno ademas de todo lo que te dice Maikel revisa este link

estos algoritmos de ordenamiento regularmente ya estan implementados bajate uno y acoplalo a tu problema.

segundo no se pero creo que "stricmp" no es una función de C, no estoy seguro pero creo que es strcmp.

Saludos 8)

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT



Ultima edición por Prozac el 28 Ago 2005 11:38 pm, editado 1 vez

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 28 Ago 2005 10:51 pm
segundo no se pero creo que "strcimp" no es una función de C, no estoy seguro pero creo que es strcmp.


Si esta mal escrita esa función es strcmp(); :lol:

Si tienes mas dudad sobre C te recomiendo visites este foro

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox
Citar            
MensajeEscrito el 28 Ago 2005 11:29 pm
choco si existe, es stricmp como lo tiene él y existe solo que es para windows y no pertenece al ANSI C, strcmp si esta definida en el ANSI C

ah tambien existe strcmpi :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.