Jump to content
EREGON

Encontrar palíndromos num ficheiro .txt

Recommended Posts

Bom dia,

 

estou a tentar fazer um exercício para, dado um ficheiro .txt na directoria do programa, terei de encontrar todas as palavras que são palíndromos. Tendo este código para ler as palavras do ficheiro .txt (letra a letra) para uma matrix.

 

Estando as palavras armazenadas numa matrix, como faço essa validação?

 

Obg,

 

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char const *argv[])
{
    FILE* inp;
    inp = fopen("palindromo.txt","r");		
    char arr[100][50];			
    int i = 0;
    while(1){
        char r = (char)fgetc(inp);
        int k = 0;
        while(r!=',' && !feof(inp)){	//Le ate fim de ficheiro
            arr[i][k++] = r;			//armazena no array

            r = (char)fgetc(inp);
        }
        arr[i][k]=0;		//ultimo carater nulo 
  
  		//Alguma parte aqui, valida se a palavra e PALINDROMO.
  		//COMO??
  
        if(feof(inp)){		//valida EOF
            break;
        }
        i++;
    }
    int j;
    for(j = 0;j<=i;j++){
        printf("%s\n",arr[j] );	//Imprime array
    }
    return 0;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By gabriel1303
      É possível verificar a ocorrência de um caractere em negrito em uma planilha do Excel utilizando c/c++?
    • By novo na programação
      O sistema consiste em ler os dados cadastrados (valores estáticos) de uma entrevista e
      fornecer as informações para as seguintes perguntas:
       
      1 - Quantidade de mulher e homens na área? (% de cada sexo)
      2 - Faixa etária? (Menor e maior idade por sexo). Criar um vetor idade para cada sexo.
      3 - Quem ganha mais? Homem ou Mulher? (Comparar médias de salários)
      4 - Quem é mais especializado? (Comparar quantidade com pós-graduação %)
       
      Ex1. Perguntas?
      Sexo (1- H, 2-M)
      Idade (?)
      Salário (?)
      Possui pós-graduação? (1-S, 2-N)

      Entrada (estática)

      Entrevistado 1
      Sexo = 1
      Idade = 19
      Salário = 4.000,00
      Possui pós-graduação = 2

      Entrevistado 2
      Sexo = 2
      Idade = 25
      Salário = 3.000,00
      Possui pós-graduação = 1

      Entrevistado 3
      Sexo = 1
      Idade = 18
      Salário = 5.000,00
      Possui pós-graduação = 2

      Entrevistado 4
      Sexo = 1
      Idade = 23
      Salário = 6.000,00
      Possui pós-graduação = 1 

      Entrevistado 5
      Sexo = 2
      Idade = 30
      Salário = 2.000,00
      Possui pós-graduação = 1

      SAÍDA
      1 - Quantidade de mulher e homens na área?
      60% homens e 40% mulheres
      2 - Faixa etária?
      homens (18-23) e mulheres (25-30)
      3 - Quem ganha mais? Homem ou Mulher?
      Homens (média 5.000,00) e Mulheres (média 2.500,00)
      4 - Quem é mais especializado?
      homens - 33% e mulheres - 100%
      Cálculo = qtdhomens com pós/qtdhomens *100
    • By samueloliveir
      Questão 1
      Crie um algoritmo que leia um número entre 2 e 20 e gere uma tela com a seguinte configuração:
       
      Digite um número:
      4
      Saída do algoritmo:
      1
      12
      123
      1234
      123
      12
      1
       
      Questão 2
      Escreva um algoritmo que calcule a média da seguinte sequência numérica a seguir: 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + ... + 1/50. Feito isto, o algoritmo deverá apresentar uma lista contendo todos os números da sequencia que estão acima da média calculada.
       
      Questão 3
       
      Um posto está vendendo combustíveis com a seguinte tabela de descontos: Álcool: até 20 litros, desconto de 3% por litro e acima de 20 litros, desconto de 5% por litro; Gasolina: até 20 litros, desconto de 4% por litro e acima de 20 litros, desconto de 6% por litro. Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (A-álcool, G-gasolina) e imprima o valor a ser pago pelo cliente. Considere que o preço do litro da gasolina é R$ 2,99 e o preço do litro do álcool é R$ 2,19. Usar procedimento.
       
      Questão 4
      Um número é, por definição, primo se ele não tem divisores, exceto 1 e ele próprio. Prepare um programa para ler um número inteiro positivo e determinar se ele é ou não um número primo. Usar função.
    • By joaoarj
      Estou com dificuldade para elaborar o seguinte código:
       
       

    • By JLFR
      Neste programa eu recebo as siglas para cada operação, como eu poderia  printar  conforme eu as solicitei com, o programa se encerra quando OOO é digitado.
      exemplos de entrada
      18 12
      MOD
      MDC
      OOO
      saida
      MDC(18,12) = 6
      MOD(18,12) = 6
       
      ***código abaixo
      #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int MDC(int n1, int n2); int MOD(int n1, int n2); int POT(int n1, int n2); int main(){ char x[100]; int n1=0, n2=0 , rmdc = 0, rmod = 0, rpot = 0; scanf("%d",&n1); scanf("%d",&n2); rmdc = MDC(n1,n2); rmod = MOD(n1,n2); rpot = POT(n1,n2); do{ scanf("%s", x); if(strcmp(x,"MDC") == 0){ printf("MDC(%d,%d) = %d\n", n1, n2, rmdc); } else if(strcmp(x,"MOD") == 0){ printf("MOD(%d,%d) = %d\n", n1, n2, rmod); } else if(strcmp(x,"POT") == 0){ printf("POT(%d,%d) = %d\n", n1, n2, rpot); } else if(strcmp(x,"OOO") == 0){ break; } } while (strcmp(x,"OOO") != 0); return 0; } int MDC(int n1, int n2){ if (n2==0) return n1; return MDC(n2, n1 % n2); } int MOD(int n1, int n2){ int res; res = n1 % n2; return res; } int POT(int n1, int n2) { if(n2 == 0) return 1; else if(n2 > 0) return n1 * POT(n1, n2-1); }  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.