Jump to content
Fórum Script Brasil
  • 0

Problemas Com String


Guest Adriano

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

  • 0
Guest - Tenente Leite -

#include <stdio.h>

#include <stdlib.h>

#define n 5

int 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 3

int 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;

Link to comment
Share on other sites

  • 0

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 :) :(

Link to comment
Share on other sites

  • 0

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á tentei

char nome[]

não dá certo!!!

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...