Ir ao conteúdo

Posts recomendados

Postado

Bom estou fazendo a Questão 2729 do uri, que pede para ordenar em ordem alfabética e eliminar os nomes repetidos , já tentei varias entradas e o resultado sai o resultado certo que a questão pede, alguém poderia colocar algum caso que meu código não passe

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int ordena(const void *a, const void *b);

int main(int argc, char** argv)
{
	char vetor_nomes[1700][100], nome[1000000], *ponteiro, auxiliar[1700][100];
	int teste, cont1, cont2;
	scanf("%d", &teste);
	while(teste--)
	{
		getchar();
		scanf("%[^\n]", nome);
		cont1 = 0, cont2 = 0;
		ponteiro = strtok(nome, " ");
		while(ponteiro != NULL)
		{
			strcpy(vetor_nomes[cont1], ponteiro);
			cont1++;
			ponteiro = strtok(NULL, " ");
		}
		qsort((void*)vetor_nomes, cont1, sizeof(vetor_nomes[0]), ordena);
		for(int i = 0; i < cont1; i++)
		{
			if(!strcmp(vetor_nomes[i], vetor_nomes[i + 1]) == 0)
			{
				strcpy(auxiliar[cont2], vetor_nomes[i]);
				cont2++;
			}
		}
		printf("%s", auxiliar[0]);
		for(int i = 1; i < cont2; i++)
		{
			printf(" %s", auxiliar[i]);
		}
		printf("\n");
	}
	return 0;
}

int ordena(const void *a, const void *b)
{
	return (strcmp((char *)a, (char *)b));
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!