Título: Por que no se ordena? Publicado por: manutmac en 15 Noviembre 2012, 21:23 pm este problema me esta matando, soy el mismo de otras veces quiero ordenarlo alfabeticamente. No veo fallos pero no se ordena. aqui os dejo mi intento
#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 pos[200]; int i, aux, j; for(i=0;i<200;i++) pos[i ] = i; for(i=1;i<200;i++) for(j=0;j<(200-i);j++) if(pnames[j]>pnames[j+1]) { aux = pos[j]; pos[j] = pos[j+1]; pos[j+1] = aux; } for(i=0;i<200;i++) printf("%s\n", pnames[pos[ i ] ] ); system("pause"); return 0; } Título: Re: Por que no se ordena? Publicado por: rir3760 en 15 Noviembre 2012, 21:36 pm El problema se debe a que estas comparando las direcciones de memoria con:
Código
En su lugar debes utilizar la función "strcmp" (prototipo en <string.h>): Código
Un saludo Título: Re: Por que no se ordena? Publicado por: manutmac en 16 Noviembre 2012, 23:43 pm muchas gracias ahora funciona a la perfeccion. ;D
|