Guest Adriano Posted July 5, 2003 Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Guest - Tenente Leite - Posted July 7, 2003 Report Share Posted July 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; Quote Link to comment Share on other sites More sharing options...
0 Tenente Leite Posted July 7, 2003 Report Share Posted July 7, 2003 Se não funcionar posta de novaOk!!! B) B) Quote Link to comment Share on other sites More sharing options...
0 LARA++ Posted July 7, 2003 Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Tenente Leite Posted July 8, 2003 Report Share Posted July 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 :) :( Quote Link to comment Share on other sites More sharing options...
0 thb_matrix Posted July 10, 2003 Report Share Posted July 10, 2003 Hehehe...Podiam mesmo fazer o que a Lara++ falou né...Para códigos curtos ainda vai, mas código desse tamanho direto? Quote Link to comment Share on other sites More sharing options...
0 Tenente Leite Posted July 11, 2003 Report Share Posted July 11, 2003 :P :P :lol: :P :P :P :lol: :P Quote Link to comment Share on other sites More sharing options...
0 slipknot Posted July 17, 2003 Report Share Posted July 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!!! Quote Link to comment Share on other sites More sharing options...
0 Fofinho Posted July 20, 2003 Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.