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

Como resolver este exercicio de Strings em C++


AlexandreJesus

Pergunta

Olá gente, gostava que ajudassem com isto... o meu professor meteu este código... e ele perguntou quem é que sabe o que isto faz e nós não sabemos, nós somos alunos de 10 ano e ainda não percebemos bem isto, agradecia a vossa ajuda. (Digam-me o que faz e expliquem os passos)

 

#include <stdio.h>
#include <string.h>

int main(void) {

char *Codifica(char *strOut, char *strIn) {
strcpy(strOut, strIn);
char *strAux = strOut;
while(*strAux){
*strAux = (*strAux)+1;
*strAux++;
}
return strOut;
}
}

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

4 respostass a esta questão

Posts Recomendados

  • 0

Pega uma frase ou palavra como "lobo", para este exemplo, e incrementa cada uma das letras conforme a tabela asc2 deixando "lobo" como "mpcp".
cada uma das letras incrementadas em 1 valor fica como na ilustração abaixo:

l+1 = m
o+1 = p
b+1 = c
o+1 = p

Para provar o anteriormente dito, aqui tem um exemplo:

#include <stdio.h>
#include <string.h>

char *Codifica(char *strOut, char *strIn) {
    strcpy(strOut, strIn); //Copia o que está em strIn em strOut
    char *strAux = strOut; //Faz strAux apontar a strOut (copia o ponteiro strOut)
    while( *strAux ) { //Por enquanto não encontrar o nulo no final da string continua rolando
        *strAux = (*strAux)+1; //copia a seguinte letra para a anterior. Tipo se tenho farinha pega a e copia na f, algo assim f<-arinha ficando aarinha
        *strAux++;
    }
    return strOut;
}

int main() {
    char in[100] = "lobo"; //Troque lobo por outras frases, ou palavras, para comprovar. Não ultrapasse 99 letras.

    char out[100] = "";

    //fazendo uso da função
    printf("%s", Codifica( out, in));

    return 0;
}

Se tiver alguma duvida pergunte.
 

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

  • 0

Muito obrigado! Tenho ainda duas outras questões... poderia me ajudar? São as seguintes... O meu professor mandou mais estas 2 questões:

Exercício 2:

Desenvolve uma função em C que retire os espaços do início de uma string.

Considera o seguinte prototype:

char *LTrim((char *strOut, char *strIn);

Explica devidamente to teu código.

Exercício 3:

Desenvolve uma função em C que retire os espaços no fim de uma string.

Considera o seguinte prototype:

char *RTrim((char *strOut, char *strIn);

Explica devidamente to teu código.

 

(Se você me pudesse ajudar agradeceria muito)!

Link para o comentário
Compartilhar em outros sites

  • 0
Em 08/01/2018 at 07:48, AlexandreJesus disse:

Olá gente, gostava que ajudassem com isto... o meu professor meteu este código... e ele perguntou quem é que sabe o que isto faz e nós não sabemos, nós somos alunos de 10 ano e ainda não percebemos bem isto, agradecia a vossa ajuda. (Digam-me o que faz e expliquem os passos)

 

#include <stdio.h>
#include <string.h>

int main(void) {

char *Codifica(char *strOut, char *strIn) {
strcpy(strOut, strIn);
char *strAux = strOut;
while(*strAux){
*strAux = (*strAux)+1;
*strAux++;
}
return strOut;
}
}

pelo que entendi ele copia as strings e fica escrevendo uma concatenação em um loop infinito;

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...