Guest Adriano Postado Julho 5, 2003 Denunciar Share Postado Julho 5, 2003 eu to tendo problema com esse codigo q deveria inverter uma string... abcd se transformar em dcba#include<stdio.h>void main(){int tam,i=0,x=1;char s[]="abcd",*a;tam=strlen(s);a=(char*)malloc(tam);for(i=0;i!=x;i++){x=tam-i;*(a+0)=s[x];}printf("o inverso de %s é %s",s,a);}mas ele me retorna: "o inverso de abcd é ", o q ta errado?Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Tenente Leite - Postado Julho 7, 2003 Denunciar Share Postado Julho 7, 2003 #include <stdio.h>#include <stdlib.h>#define n 5int main(){ int d; char a[n]; scanf("%s",&a); for(d=n-1;d>=0;d--) printf("%c",a[d]); system("PAUSE"); return 0;}Cara eu pelo que eu vi o seu erro deve estar no seu laço for, pelo número do i, mas como você alocou dinamicamente são entendi , teria que compilar pra ver! O código acima faz exatamente o que você quer, só que tem o limite de 5, talvez você prefira dessa forma:#include <STDIO.h>#include <stdlib.h>#define N 3int main(){ char string[N]; char string2[N]; int i; gets(string); for (i=N;i>=0;i--) // lembrando que você pode usar o strlen aqui ,i>= strlen(string) string2=string[N-i-1]; if((strcmp(string,string2))==0) printf("são palindromo"); else B) printf("não palidromo"); printf("%s",string); printf("%s",string2); system("PAUSE"); return 0; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tenente Leite Postado Julho 7, 2003 Denunciar Share Postado Julho 7, 2003 Se não funcionar posta de novaOk!!! B) B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LARA++ Postado Julho 7, 2003 Denunciar Share Postado Julho 7, 2003 Dae pessoal, isso não é crítica é só uma dica, quando postar código escrever entre tag CODE. bele. fica melhor, o que vocês acham?Falow Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tenente Leite Postado Julho 8, 2003 Denunciar Share Postado Julho 8, 2003 Ai meu chapa, eu fiz por ponteiro, vê se assim tá bom!#include <stdlib.h>#include <stdio.h>void inverte (char *texto);main (){ char *palavra=""; printf ("\n\nDigite alum texto: "); gets (palavra); inverte (palavra);}/* ---------- */void inverte (char *texto){ int cont_1 = 0, cont_2 = 0; /* verifica tamanho do texto */ while (texto[cont_1]) cont_1++; printf ("\nTamanho de %s = %i\n", texto, cont_1); printf ("\nInvertendo: "); do { printf ("%c", texto [cont_1-cont_2-1]); cont_2++; } while (cont_2 < cont_1);} :rolleyes: ;) :P :) :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 thb_matrix Postado Julho 10, 2003 Denunciar Share Postado Julho 10, 2003 Hehehe...Podiam mesmo fazer o que a Lara++ falou né...Para códigos curtos ainda vai, mas código desse tamanho direto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tenente Leite Postado Julho 11, 2003 Denunciar Share Postado Julho 11, 2003 :P :P :lol: :P :P :P :lol: :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 slipknot Postado Julho 17, 2003 Denunciar Share Postado Julho 17, 2003 Ae galera eu quero criar uma variavel matriz só q o tamanho seja aleatorio.....dependendo do que for colocado entendem?como eu declaro essa MATRIZ???já tenteichar nome[]não dá certo!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fofinho Postado Julho 20, 2003 Denunciar Share Postado Julho 20, 2003 Criar uma variável aleatória é simples. o que você precisa é de lógica.Observe meu raciocínio.Você quer criar uma variável, mas não sabe o tamanho dela.Então, crie um ponteiro para essa variável, e use a função malloc;Depois que armazenar um devido espaço, desaloque com o free(maisvariavel);Será que eu tenho que escrever o código ou você consegue fazer sozinho? É que eu to com preguiça .. zzzzzzzzzZZZ..ZZZzzz.ZZz.zzz Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Adriano
eu to tendo problema com esse codigo q deveria inverter uma string... abcd se transformar em dcba
#include<stdio.h>
void main(){
int tam,i=0,x=1;
char s[]="abcd",*a;
tam=strlen(s);
a=(char*)malloc(tam);
for(i=0;i!=x;i++){
x=tam-i;
*(a+0)=s[x];
}
printf("o inverso de %s é %s",s,a);
}
mas ele me retorna: "o inverso de abcd é ", o q ta errado?
Obrigado
Link para o comentário
Compartilhar em outros sites
8 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.