Título: no entiendo porque pero no funciona ( ordenar array ) Publicado por: manutmac en 13 Noviembre 2012, 15:28 pm Lo que quiero es que me cambie las posiciones del array pero no funciona y no se por que. Necesito asi para poder asi ordenarlas segun un segundo criterio en caso de igualdad de longitud de la palabra
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { const char *const pnames[200] = {"Muhittin", "Mufit", "Serkan", "Kaan", "Izzet", "Muzaffer", "Umid", "Sami", "Uykura", "Kayhan", "Yakup", "Mert", "Cetin", "Ilknur", "Gokhan", "Salah", "Irem", "Korhan", "Isin", "Berk", "Tacettin", "Duygu", "Figen", "Funda", "Fuat", "Arda","Muhsin", "Guray", "Necati", "Kadriye", "Gurbuz", "Hamide", "Volkan", "Selami", "Esra", "Cumhur", "Can", "Aleyna", "Salih", "Kamuran", "Ferhan", "Furuze", "Sukufe", "Sidre", "Cahit", "Sercan", "Jale", "Bilge", "Tijen", "Tufan", "Zeliha", "Cevdet", "Burak", "Ufuk", "Zarife", "Bengisu", "Melda", "Zafer", "Yelda", "Didar", "Hande", "Cumali", "Dilek", "Kemal", "Hasan", "Ismail", "Fatma", "Burcu", "Siyami", "Busra", "Gizem", "Ramize", "Sezai", "Polat", "Melike", "Umut", "Serencan", "Uzeyir", "Kamile", "Deniz", "Veysel", "Emrehan", "Gulcan", "Ender", "Furkan", "Veli", "Muhtesem", "Necmettin", "Osman", "Perihan", "Didem", "Tunc", "Irmak","Petek", "Sebahat", "Halime", "Mahir", "Leyla", "Eda", "Ali", "Ibrahim", "Berivan", "Ilter", "Metin", "Bozkurt", "Olgun", "Hudai", "Esin", "Taylan", "Memduh", "Selimcan", "Ayse", "Baran", "Keriman", "Tankurt", "Feramuz", "Abdullah", "Ferda", "Kuntay", "Ceyhan", "Edip", "Nuri", "Mahide", "Selda", "Murathan", "Celebi", "Talha", "Mehtap", "Ece", "Abdurrahman", "Baki", "Anil", "Unsal", "Melahat", "Sezgin", "Miran", "Cansel", "Sibel", "Aliye", "Derya", "Naime", "Gulden", "Konar","Soner", "Gulistan", "Mestan", "Galip", "Lamia", "Hakan", "Ugur", "Ege", "Husnu", "Sumbul", "Mustafa", "Simge", "Selva", "Mehmet", "Irfan", "Cezmi", "Turgut", "Konur", "Aysegul", "Mesut", "Ceren", "Adem", "Ferhat", "Murat", "Yunus", "Beyhan", "Erdem", "Sunusi", "Ata", "Sencer", "Handan", "Cihan", "Levent", "Aykut", "Ferit", "Demir", "Kerim", "Feraye", "Caner", "Baris", "Ozlem", "Ihsan", "Meltem","Kurthan", "Okan", "Huseyin", "Sezgi", "Celik", "Cemal", "Sinan", "Sefa", "Cigdem", "Leman", "Nejla", "Gurkan", "Gulsum", "Damla",}; int length[200]; int pos[200]; int aux; for( int i=0; i<200; i++) length = strlen(pnames); for( int i=0; i<200; i++) pos = i; for(int i = 0; i < 200; i++){ for(int j = 0; j < 199; j++){ if(length[j]>length[j+1]){ aux=pos[j]; pos[j]=pos[j+1]; pos[j+1]=aux;} } } for( int i=0; i<200; i++) printf("%i ", pos); system("\npause"); return 0; } Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: naderST en 13 Noviembre 2012, 16:11 pm Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: manutmac en 13 Noviembre 2012, 16:57 pm si esta puesto, pero no se por que no se muestra en el mensaje
Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: naderST en 13 Noviembre 2012, 17:23 pm Código
Asumo que esto es lo que estas tratando de hacer... PD: Veo que estas programando en C y no puedes declarar i en el for(), es decir, debes declararlo fuera: Código
Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: manutmac en 13 Noviembre 2012, 20:56 pm no debe ser el problema por que tambien lo he intentado hacer asi, pero en el codigo no hay problemas no? no entiendo que pasa.
Muchas gracias de todas formas Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: naderST en 13 Noviembre 2012, 22:07 pm Tu algoritmo de ordenamiento tiene ciertos detalles, por ejemplo no haces el intercambio en el arreglo length. Hay varios algoritmos de ordenamiento, te recomiendo investigues sobre ellos. Aquí te dejo un ejemplo haciendo uso del ordenamiento de burbuja:
Código
Puedes revisar el siguiente enlace para más información de los algoritmos de ordenamiento: http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento Título: Re: no entiendo porque pero no funciona ( ordenar array ) Publicado por: manutmac en 14 Noviembre 2012, 17:50 pm ok, muchas gracias. Ahora lo entendi. Si no pongo el length no se va ordenando y la pos no cambia tampoco. Me ofusque. Muchas gracias de verdad
|