Ir para conteúdo
Fórum Script Brasil
  • 0

Código em C


MarcelPR

Pergunta

Boa noite,

comecei fazer este código, mais dei uma enroscada aqui

será q alguém poderia por o q esta faltando ai?

Obrigado!

O exercicio pede:

Faça um programa que leia uma string e a inverta, imprimindo a

string invertida na tela.

#include<stdio.h>
#include<conio.h>
main()
{
char str_in[10];
int i,len;
int tr_in;
printf("Digite a string dee\n");
gets(tr_in);
len=strlen(str_in);
char str_out[len];
str_out[len]='';
return (str_in);
}

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Primeiro você não pode retornar uma string dentro da função main. Portanto você tem que retornar um número inteiro como 0.

Pra inverter, use um for:

char str_out[len+1];
for(int i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';
...

Vê se o código funciona, não testei.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo

eu fiz o q voce disse

está dando alguns erros

na gets.

tenta ver pra mim ai fazendo favor!

Obrigado!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      int tr_in;
      printf("Digite a string dee\n");
      gets(tr_in);
      len=strlen(str_in);
      char str_out[len+1];
 for (int i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';
return (0);
}

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigos

está rodando agora

kk

mais não da fazendo a coisa certa

o q ponho para aparecer a inversao?

abraço!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      printf("Digite a string de entrada\n");
      gets(str_in);
      len=strlen(str_in);
      char str_out[len+1];
 for (i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';

return (0);
}

Link para o comentário
Compartilhar em outros sites

  • 0
Olá amigos

está rodando agora

kk

mais não da fazendo a coisa certa

o q ponho para aparecer a inversao?

abraço!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      printf("Digite a string de entrada\n");
      gets(str_in);
      len=strlen(str_in);
      char str_out[len+1];
 for (i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';

return (0);
}

oi!

Tem a função strrev que imprime uma string invertida, tentasse usá-la?

Link para o comentário
Compartilhar em outros sites

  • 0

É isso ai galera obrigado

só falta fazer um break, porque aparece a string e fecha o programa!

Queria fazer dar um pause quando aparece a string!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      printf("Digite a string de entrada\n");
      gets(str_in);
      len=strlen(str_in);
      char str_out[len+1];
      for (i=0; i<len; i++)
      {
   str_out[i] = str_in[(len-1) - i];
   str_out[len] = '/0';
   printf("A Palavra invertida é %s",str_out);
}
return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Usa a função getchar depois do ultimo printf e antes do return 0. Agora por que a função que mostra a string invertida tá dentro do for?

...
for (i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';
printf("A Palavra invertida é %s",str_out);
getchar();
return 0;

Depois posta o resultado. Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Agora sim ta funcionando normal

obrigado mesmo!

só imprimi uns sinais nada a ver na string invertida

mais axo que não tem nada a ver

roda ai pra voce ver!

Obrigado pela ajuda!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      printf("Digite a string de entrada\n");
      gets(str_in);
      len=strlen(str_in);
      char str_out[len+1];
      for (i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '/0';
printf("A Palavra invertida e %s", str_out);
getchar();
return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Surgiu outra dúvida aqui em outro código da minha lista gente!

ta dando erro no segundo for!

Qual seria o erro?

obrigado!

1) Faça um programa que leia dez números inteiros, armazena-os em

uma matriz unidimensional e inverta a ordem dos números na matriz.

Imprima na tela os números nas ordens direta e reversa.

# include < stdio.h >
# include < conio.h >
void main ( ) 
{ 
      int maxA[10], maxB[10], i;
      for (i = 0; i < 10; i ++)
      { 

            printf (" Informe o Valor ");
            scanf ( "%d", &maxA[i] );
            if ( maxA[i]%2 == 0) 
            {
                  maxB[i]= maxA[i] * 5;
            }
            else 
            {
                  maxB[i] = maxA[i] + 5;
            }
      }
      for (int j=0; j<10; j++)
      {
            printf("%d", matB[i]);
      }
}

Editado por MarcelPR
Link para o comentário
Compartilhar em outros sites

  • 0
... só imprimi uns sinais nada a ver na string invertida...

Foi erro meu, onde tem '/0' você coloca '\ 0'.

...
str_out[len] = '\ 0';
...

Foi mal, testa agora e posta o resultado depois.

Obs. Coloquei o \ 0 separado para aparecer aqui, mas ele é junto.

Editado por RonaldoRG
Link para o comentário
Compartilhar em outros sites

  • 0

Era aquilo mesmo

só a barra do 0 estava invertida!

rs.

Ta concertado agora!

Obrigado!

#include<stdio.h>
#include<conio.h>
main()
{
      char str_in[10];
      int i,len;
      printf("Digite a string de entrada\n");
      gets(str_in);
      len=strlen(str_in);
      char str_out[len+1];
      for (i=0; i<len; i++)
{
   str_out[i] = str_in[(len-1) - i];
}
str_out[len] = '\ 0';/*Sem espaço entre \ e 0*/
printf("A Palavra invertida e %s", str_out);
getchar();
return 0;
}

Entre as duas aspas simples (str_out[len] = '\ 0';) tem , não aparece no código!

Editado por MarcelPR
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...