alex_dino 0 Denunciar post Postado Dezembro 3, 2008 O exrecicio é: Listar em ordem crescente os nomes dos alunos do curso de Sistemas de Informação que estão armazenados em um vetor. Utilizar o método da bolha. Eu fiz assim, mais está dando erro. # define TAMANHO 5 #include <stdio.h> int main (void) { char nomes[TAMANHO][10],i=0,j,aux,cont; for (cont=0;cont<TAMANHO;cont++){ printf ("digite o nome\n "); gets (nomes[cont]); } for (i=0;i<TAMANHO;i++) for (j=i+1;j<TAMANHO;j++){ if (strlen(nomes[i]>nomes[j])) aux =nomes[i]; nomes[i]=nomes[j]; nomes[j]=aux; } printf ("crescente %s",nomes[j]); system ("pause"); return (0); } O certo não era usar > ou o = né????????? o que eu usaria para trocar???????? Ou o programa está todo errado?????? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 3, 2008 cara naum testei + nunca vi isso: if (strlen(nomes[i]>nomes[j])) faca assim: if (strlen(nomes[i]) > strlen(nomes[j]))) e outra coisa como [e ordenar por nomes assim, procure sobre strcoll []s Compartilhar este post Link para o post Compartilhar em outros sites
Edultra 13 Denunciar post Postado Dezembro 6, 2008 Não se usaria neste caso strcmp? Compartilhar este post Link para o post Compartilhar em outros sites
Diego Cardoso 0 Denunciar post Postado Dezembro 6, 2008 kra, para fazer o método bolha, tente deste jeito, acredito que vai te ajudar. # include <stdio.h> # include <conio.h> int a[5],i,j,aux; main(){ for (i=0;i<5;i++){ printf("Informe o %d%c numero:", i+1, 167); scanf ("%d",& a[i]); } // Inserindo dados para o método bolha for(i=0;i<4;i++){ for(j=0;j<(4-i);j++){ if (a[j]>a[j+1]){ aux=a[j]; a[j]=a[j+1]; a[j+1]=aux; } } } // Finalizando o método bolha ja com os dados finalizados printf("valores modificados pelo metodo bolha"); for (i=0;i<5;i++){ printf("\n%d\n", a[i]); } getch(); } Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 Não se usaria neste caso strcmp? No caso de ordenar nomes, acho melhor o strcoll, tente fazer os testes para você ver... eu conheci esse comando, fazendo um desafio do site do SPOJ onde eu ordenava nomes, e soh consegui ordenar corretamente usando ele.. nunca testei c o qsort ordena nomes tbm.. []s Compartilhar este post Link para o post Compartilhar em outros sites
Edultra 13 Denunciar post Postado Dezembro 12, 2008 Boa quit não sabia deste strcoll, é isso ai ampliando os horizontes... Compartilhar este post Link para o post Compartilhar em outros sites
Foguire 0 Denunciar post Postado Dezembro 15, 2008 Legal esse strcoll mas eu tinha feito um codigo parecido sem usar esta funções de strcmp ou strcoll e funcionou normal #include <stdio.h> #define MAX 10 main(){ int i, j; char aux[50], nome[MAX][50]; for(i = 0; i < MAX; i++){ printf("Informe um nome: "); scanf("%s", &nome[i]); } for(i = 0; i < MAX; i++){ for(j = i + 1; j < MAX; j++){ if (nome[i][0] > nome[j][0]){ strcpy(aux, nome[i]); strcpy(nome[i], nome[j]); strcpy(nome[j], aux); } } } for(i = 0; i < MAX; i++){ printf("%s,", nome[i]); } printf("\n\n"); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 15, 2008 você fez bastantes testes?? sera q ordena algo como?? aaaa bbbb aaab aaaab aaac axaaa abababa teste1 teste2 teste3 []s Compartilhar este post Link para o post Compartilhar em outros sites
Foguire 0 Denunciar post Postado Dezembro 16, 2008 você fez bastantes testes?? sera q ordena algo como?? aaaa bbbb aaab aaaab aaac axaaa abababa teste1 teste2 teste3 []s Nem vou precisar hehe, já deu pra ver a burrada. Compartilhar este post Link para o post Compartilhar em outros sites
Foguire 0 Denunciar post Postado Dezembro 16, 2008 for(i = 0; i < MAX; i++){ for(j = i + 1; j < MAX; j++){ checar = strcoll(nome[i], nome[j]); if (checar > 0){ strcpy(aux, nome[i]); strcpy(nome[i], nome[j]); strcpy(nome[j], aux); } } } Obrigado hehee Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 16, 2008 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif strcoll na area :lol: Compartilhar este post Link para o post Compartilhar em outros sites