Daniel Andrade Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 Estou com problemas no uso de strrev(), não consigo entender para aplicar corretamente.Quero obter um vetor com os carcateres invertidos. Mas não consigo "salvar o resultado"O que atrapalha é que opera com ponteiro,explica como devo trabalhar com strrev() //Variaveis globais const char combi[6][6]={"EFGM","EFLM","EFGHN","EFGMN","EFLMN","EJLMN","FLJ"}; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marcelo Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 Tenta fazer assim:// Vetor [6] = {O,L,E,C,A,R,M} for (i=0; i < 6; i++){ printf("%s",strrev(Vetor));}// O nome mostrado tem quem ser MARCELO Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Fevereiro 2, 2005 Denunciar Share Postado Fevereiro 2, 2005 seu codigo ta errado veio Tenta fazer assim: // Vetor [6] = {O,L,E,C,A,R,M} for (i=0; i < 6; i++) { printf("%s",strrev(Vetor[i])); } // O nome mostrado tem quem ser MARCELOvai mostra 'mRacelo' hehhe zuerraaaaae tipo, se for pra uma string de um tamanho q eu não sei :| ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 2, 2005 Denunciar Share Postado Fevereiro 2, 2005 seu codigo ta errado veioDe fato, acho que houve uma certa confusão ali. A função strrev() espera um char * e não um char. Não é preciso um loop para inverter a string. Aqui vai um exemplo: char *s = "teste"; printf("antes: %s\n", s); strrev(s); printf("depois: %s\n", s);e tipo, se for pra uma string de um tamanho q eu não sei :| ??As "strings" em C são nada mais do que vetores de chars. E como vetores têm tamanhos definidos, as "strings" também têm. Entretanto, existem maneiras de se redimensionar um vetor, portanto pode-se redimensionar uma string também.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Heldinho Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 e tipo, se for pra uma string de um tamanho q eu não sei :| ?? Você pode usar uma função q eu fiz hj a tarde.. mas o numero máximo de caracteres q a scring pode ter é 1000. Bom.. não sei se funciona com qualquer string.. testei com algumas.. tente compilar este exemplo:#include <stdio.h> char *inverte(char *string){ char *retornador; int i; int ii; int iii=0; char strtmp[1000]; char strout[1000]; char strout2[1000]; i=0; ii=0; sprintf(strtmp,"%s",string); while(strtmp[i]!= NULL){ i++; iii++; } while(ii!=i+1){ strout[ii] = strtmp[iii]; ii++; if(iii!=0){ iii--; } } ii=0; /* while(ii<i){ strout2[ii] = strout[ii+1]; ii++; } */ ii=0; iii=0; while(ii<i+1){ if(strout[ii] != NULL){ strout2[iii] = strout[ii]; iii++; ii++; } else { //printf("%c",strout[ii]); ii++; } } strout2[iii] = NULL; retornador = strout2; return retornador; } int main(void){ const char combi[6][6]={"EFGM","EFLM","EFGHN","EFGMN","EFLMN","EJLMN"}; int i=0; while(i<6){ printf("String normal:%s Inversa:%s\n",combi[i],inverte(combi[i])); i++; } }Até +! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 VILLA_LOBOS Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 apenas uma crítica, linguagem C aconomiza código, não precisa fazer uma fução gigante pra algo simples, ,,, vou tentar fazer em casa isso,, acho que se deve usar a recursividade.... dae posto ae.. falow. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 ae galera esse link e relacionado com o tópico, se alguém tiver interesse:http://www.vivaolinux.com.br/dicas/verDica.php?codigo=1521 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniel Andrade Postado Fevereiro 5, 2005 Autor Denunciar Share Postado Fevereiro 5, 2005 Obrigado pelo apoio... resolvi mas não comprendi...Pois o problema era char palavra="UVA"; strrev(palavra); aqui variavel palavra = AVU outras instruçoes aqui variavel palavra = UVADai não entendi porque acontecia, pra resolver copiei o conteudo em outra variavel. Mas podem postar codigos, uma boa alternativa Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Daniel Andrade
Estou com problemas no uso de strrev(), não consigo entender para aplicar corretamente.
Quero obter um vetor com os carcateres invertidos. Mas não consigo "salvar o resultado"
O que atrapalha é que opera com ponteiro,explica como devo trabalhar com
strrev()
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.