Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mentell

Troca de palavras com variações

Recommended Posts

Pessoal estou com o seguinte problema.

 

Tenho uma palavra RICARDOR

 

preciso trocar R por RR nessa palavra fazendo todas as variações possiveis conforme exmplo

 

RICARDOR

RRICARDOR

RRICARRDOR

RRICARRDORR e etc...

 

não conseguir achar nenhuma logica para fazer isso alguem pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, evite postar a mesma coisa em dois fóruns diferentes !

Além de ser uma atitude considerada incorreta (usuários que perceberem isso pensarão que você está tentando dar mais prioridade a seu caso, e muitas vezes nem responderão), isso ainda poderá atrapalhar a solução de seu problema !

Imagine se você, em um fórum, está tentando a resolução de maneira X e, no outro, de maneira Y

Causará uma grande confusão !

 

Olhe este link: http://scriptbrasil.com.br/forum/index.php?showtopic=132755

O problema é exatamente o mesmo !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo,

 

Poste em quantos fóruns quiser. Há mais de um fórum na internet e há mais de uma solução para qualquer problema.

 

Acredito ter compreendido o que você quer. Me parece trabalhoso e no momento não consigo imaginar uma forma curta de implementação.

 

Você está trabalhando com qual linguagem?

 

Cirrus.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara isso é simples d+..

primeira a palavra será um vetor.

ai você pega e faz um loop para achar os 'R' e qnd achar oq você faz???

desloca a letra da frente pra frente e adiciona um 'R' no lugar dela..

naum sei c você chego entender..

+ continua postando ae.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo,

 

Poste em quantos fóruns quiser. Há mais de um fórum na internet e há mais de uma solução para qualquer problema.

 

Acredito ter compreendido o que você quer. Me parece trabalhoso e no momento não consigo imaginar uma forma curta de implementação.

 

Você está trabalhando com qual linguagem?

 

Cirrus.

 

Obrigado pela compreensão Cirrus, em relação ao comentario do nosso colega acima, acredito que foruns, são para tirar e responder duvidas, no meu caso estou postando em todos os foruns que conheço, para tentar sanar esse problema, preciso disso pois estou fazendo uma busca avançada, trabalho com 2 linguagens Data Flex e C#, preciso resolver isso nas 2, caso tenha alguma ideia pra mim sera muito util.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara isso é simples d+..

primeira a palavra será um vetor.

ai você pega e faz um loop para achar os 'R' e qnd achar oq você faz???

desloca a letra da frente pra frente e adiciona um 'R' no lugar dela..

naum sei c você chego entender..

+ continua postando ae.

 

[]s

 

Obrigado pela dica amigo, embora pareça simples e um pouco mais complexo do que imaginamos, com essa dica que você postou nunca chegaria nesse resultado

 

RRICARDORR

 

se tiver alguma outra dica ficarei muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ chegaria no resultado..

ta bom vow fazer um pedaço do codigo e você vai ver:

void deslocaDir(String sNome, Integer iInd){
	for(int i=iInd;i<strlen(sNome);i++) sNome[i+1] = sNome[i];
}

String sNome = "RICARDOR";
i = 0;
While(...){
	If (sNome[i] == 'R'){
		deslocaDir(sNome, i);
		i++;
	}
	i++;
}

olha naum compilei nem nd, soh qro q você entenda minha logica.

caso eu ainda esteja errado, argumente e a gente ve oq faz..

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quit, desse jeito que você colocou a troca ali, acho que não vai funcionar, vai virar tudo em "R"...pra deixar certo mesmo teria que usar um vetor alocado dinâmicamente, pois não se sabe quando vai ter que aumentar o vetor pra incluir a letra duplicada...nesse caso só para teste dava pra deixar o vetor com uns 10 caracteres a mais...não compilei tb, posso ter viajado :D

 

void deslocaDir(String sNome, Integer iInd)
{
	for(int i=strlen(sNome); i<=iInd; i--) 
	{
		sNome[i+1] = sNome[i];
	}
}

String sNome[8+10] = "RICARDOR";
i = 0;
While(...){
	If (sNome[i] == 'R')
	{
		deslocaDir(sNome, i);
		sNome[i] = 'R'; //Aqui não sei se tá certo isso, ou se teria que usar o strcpy();
		i++;
	}
	i++;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

a naum pode até estar errado groove, + eu fiz soh para o cara ver + ow - a logica ;D

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh, malz quitZAUMMM :D

Saca só, certinho :D

 

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

void deslocaDir(char *sNome, int iInd);

int main()
{
	char *sNome;
	printf("Digite um nome: ");
	gets(sNome);

	int i = 0;
	int cont = 0;
	while(i < ((strlen(sNome) + cont)))
	{
		if((sNome[i] == 'R') || (sNome[i] == 'r'))
		{
			deslocaDir(sNome, i);
			i++;
			cont++;
		}
		i++;
	}
	printf("\nProcessado: %s\n",sNome);
	system("pause");
	return(0);
}

void deslocaDir(char *sNome, int iInd)
{
	for(int i = strlen(sNome); i>=iInd; i--)
	{
		*(sNome+i+1) = *(sNome+i);
	}
}
To com uma dúvida besta, tipo nesse caso que eu entro com um nome num vetor de char sem tamanho, o C trata isso de forma normal. Mas quando vou incluindo mais caracteres ali naquela cadeia indeterminada, o C faz a mesma coisa? Vai redimensionamendo como se fosse a primeira vez? Não deu nenhum erro nem warning quanto a buffer overflow, mas fiquei com a dúvida "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.