• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Crazyluigi

Como eliminar um caracter numa string?

4 mensagens neste tópico

Boas!!

Estou com um problema pois queria eliminar um caracter numa string introduzida por teclado sendo também o utlizador a introduzir o caracter.

void main()
{
	char car;
	char pal[DIM];
	char palm[DIM];
	int i,j;

	printf(" Insira um caracter : ");
	scanf("%c",&car);
	printf(" Insira uma linha de texto :");
	scanf("%s",&pal);
	j=strlen(pal);
		for(i=0; i<=j; i++)
		{
			if (pal[i]!=car)
				palm[i]=pal[i];
			else
			{
				palm[i]=pal[i+1];

			}
		}
	puts(palm);
	getche();

esta versão já elimina o caracter mas fico com uma repetição de caracter seguinte...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de "recuar" a string a partir dessa posição para que os caracteres se sobreponham aos da string original.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º não consegui ver bem o que estavas a dizer com o recuar pois já tinha tentado... mas depois tive mais uma pequena ajuda e tá feito!!!

#include<stdio.h>
#include<conio.h>
#include<string.h>
#define DIM 30



void main()
{
	char car;
	char pal[DIM];
	char palm[DIM];
	int i,j, k=0;

	printf(" Insira um caracter : ");
	scanf("%c",&car);
	printf(" Insira uma linha de texto :");
	scanf("%s",&pal);
	j=strlen(pal);
		for(i=0; i<=j; i++)
		{
			if (pal[i]!=car)
				palm[k]=pal[i];
			else
			{
				palm[k]=pal[i+1];
				k--;
			}
		k++;
		}
	puts(palm);
	getche();

Eis o resultado final!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora