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

Compactar vetor em C


Parazeit

Pergunta

Pessoal, é o seguinte: montei um código que leva os elementos nulos (zeros) de um vetor até as suas ultimas posições, e consegui... bem, quase.

O problema surge quando o programa encontra no vetor, dois elementos nulos em sequencia. Ele acaba transportando apenas um elemento nulo, deixando o outro cair da carroça.

Estou usando o Dev C++ para desenvolvê-lo, e queria pedir um auxílio nesse problema:

 

	for (i = 0; i < T; i++) { // Operações.
		if (vet[i] == 0) {
			for(j = i; j < T - 1; j++) {
          			aux = vet[j];
				vet[j] = vet[j + 1];
				vet[j + 1] = aux;
			}
		}
	}

 

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

1 resposta a esta questão

Posts Recomendados

  • 0

Voltei para avisar que consegui resolver o problema. Mostrarei como ficou, caso mais alguém encontre a mesma dificuldade:

 

porem = 0;

for (i = 0; i <= T; i++) {
	for (j = i + 1; j < T; j++) {
		if (vet[j] == vet[i])
		cont++;
	}
}

do {
	for (i = 0; i < T; i++) { // Operações.
		if (vet[i] == 0) {
			for(j = i; j < T - 1; j++) {
				aux = vet[j];
				vet[j] = vet[j + 1];
				vet[j + 1] = aux;
			}
		}
	}

		porem++;

} while (porem != cont);

 

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