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

Help(string) - Noob


Leoric

Pergunta

Opa!

Preciso de uma ajuda...preciso remover todos os espaços em branco, acentos(pior ainda porque não sei como substituir "é" por "e") e pontuacões de uma string(i.e "Roma me tem amor")lida. Estou usando:

char input[LIM],in_org[LIM];

scanf("%[^\n]", input);

tamanho = strlen(input);

for(i=0,j=0;i<=tamanho-1;i++,j++){

if(input == ' ' || input == ',' || input == '-'){

in_org[j] = input[i+1];

i = i+1;

cont++;

}

else in_org[j] = input;

}

É coisa simples de C, manipulação de strings...to cursando disciplina de computação.

alguém pode me ajudar?

Valeu!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Acho que o mais prático no caso seria criar uma matriz com os respectivos elementos a serem procurados e pelo que devem ser substituídos (no caso, o " " substituiria pelo "", o "á" pelo "a", o "é" pelo "e"). Ou seja, você teria que criar essa tabelinha explicitamente.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Sera que precisa ser estão complexo assim?

No enunciado do Prob diz "O seu programa deve desconsiderar acentos, pontuação e não fazer distinção entre letras maiúsculas e minúsculas " ...

Não vai ser complexo; acho que até que vai ser mais simples do que o jeito que você fez acima. Experimente aí.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Deu alguma zebra no fórum e alguns posts foram perdidos, por isso não sei se você chegou a ver o exemplo que fiz:

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

int main() {
    char v1[] = {'á', 'â', 'ã', 'à', 'é', 'ê', 'í', 'ó', 'ô', 'õ', 'ú', 'ç'};
    char v2[] = {'a', 'a', 'a', 'a', 'e', 'e', 'i', 'o', 'o', 'o', 'u', 'c'};
    int MAX = 12; // Número de elementos nos vetores acima
    
    char s[] = "alô maçã ré tísica totó";
    
    for (int i=0; i<strlen(s); i++) {
        for (int j=0; j<MAX; j++)
            if (v1[j]==s[i])
               s[i] = v2[j];
    }
    printf("%s\n", s);

    system("pause");
}

Abraços,

Graymalkin

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,2k
    • Posts
      652k
×
×
  • Criar Novo...