Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Como testar se duas palavras são anagramas uma da outra - Solução usando ordenação de strings - Desafio de Programação Resolvido em CQuantidade de visualizações: 1871 vezes |
Pergunta/Tarefa: Dadas duas palavras p1 e p2, escreva um código C que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez. Para esta solução você deverá, obrigatoriamente, usar a ordenação das duas strings em ordem alfabética. Seu programa deverá exibir a seguinte saída: Informe a primeira palavra: perda Informe a segunda palavra: pedra As duas palavras são anagramas uma da outra. Veja a resolução com código comentado em C: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> // Esta função é usada para converter todos os caracteres // para letras minúsculas void letras_minusculas(char *string){ while(*string){ *string = tolower(*string); string++; } } // Esta função é usada para ordenar a string em ordem alfabética void ordenar(char texto[]){ int temp = 0, i, j; for(i = 0; i <strlen(texto) - 1; i++){ for(j = i + 1; j < strlen(texto); j++){ if (texto[i] > texto[j]) { temp = texto[i]; texto[i] = texto[j]; texto[j] = temp; } } } } int main(int argc, char *argv[]){ // variáveis usadas para resolver o problema char palavra1[80], palavra2[80]; int i; int anagramas = 1; // true setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar as duas palavras printf("Informe a primeira palavra: "); gets(palavra1); printf("Informe a segunda palavra: "); gets(palavra2); // o primeiro passo é testar os tamanhos das duas strings if (strlen(palavra1) != strlen(palavra2)){ |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |