Ir ao conteúdo

Posts recomendados

Postado

Como faço para calcular quantas vezes uma letra repetiu na matriz?

 

 

Algoritmo "semnome"
// Disciplina  :  [Linguagem e Lógica de Programação]
// Professor   : Antonio Carlos Nicolodi
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : João dos ceus
// Data atual  : 03/09/2018
Var
   // Seção de Declarações das variáveis
   dados: vetor[1..5,1..5] de caracter
   i,j: inteiro
   letras: vetor[1..6] de caracter
   k: inteiro
   contador:inteiro
   opcao,opcao2:inteiro
Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   repita
   Escreval("------ Menu principal ------")
   Escreval("Selecione uma das opções")
   Escreval("1. Inserir sopa de letras")
   Escreval("2. Sair")
   leia(opcao)
   escolha opcao
   caso 1
   escreval("Introduza as letras para a sopa de letras:")
   para i de 1 ate 5 faca
      para j de 1 ate 5 faca
         leia (dados[i,j])
      fimpara
   fimpara

   escreval ("")
   escreval("A sopa de letras é:")
   para i de 1 ate 5 faca
      para j de 1 ate 5 faca
         escreva (dados[i,j])
      fimpara
      escreval ("")
   fimpara

   escreval ("")
   escreval(" As letras introduzidas são:")
   para i de 1 ate 6 faca
      leia (letras)
   fimpara

   para i de 1 ate 5 faca
      para j de 1 ate 5 faca
         para k de 1 ate 6 faca
            se letras[k]=dados[i,j] entao
               contador<-contador+1
               escreval("")
               escreval ("-> Letra:")
               escreval (dados[i,j])
               escreval ("->> Coordenada:")
               escreva (i,j)
               escreval("")
               escreval ("->>> Numero de vezes que a letra foi repetida:")
               escreva (contador=dados[k])
               contador<-contador+1
       fimse
         fimpara
      fimpara
   fimpara
   caso 2
   fimalgoritmo
   fimescolha


Fimalgoritmo

 

  • Curtir 1
  • Membro VIP
Postado

@sd86, seja bem vindo ao Fórum do Clube do Hardware.

 

Vamos lá:

 

1#

Sobre:

8 horas atrás, sd86 disse:

Como faço para calcular quantas vezes uma letra repetiu na matriz?

 

Existem várias formas... o código que você postou está num bom caminho.

 

Uma boa maneira de tentar ser mais preciso é determinando as características específicas do que precisa. Por favor, poste o enunciado completo do problema.

 

 

 

2#

Para servi de base, peguei seu código como referência e fiz pequenos ajustes.

Algoritmo "semnome"
// Disciplina  : [Linguagem e Lógica de Programação]
// Professor   : Antonio Carlos Nicolodi
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : João dos ceus
// Data atual  : 03/09/2018
var
   dados    :vetor[1..5,1..5] de caracter
   letras   :vetor[1..6] de caracter
   i,j,k    :inteiro
   contador :inteiro
   opcao    :inteiro
inicio
repita
   escreval("------ Menu principal ------")
   escreval("Selecione uma das opções")
   escreval("1. Inserir sopa de letras")
   escreval("2. Sair")
   leia(opcao)
   escolha opcao
      caso 1
         //preenche a matriz de dados
         escreval ("")
         escreval("Introduza as letras para a sopa de letras:")
         para i de 1 ate 5 faca
            para j de 1 ate 5 faca
               {leia(dados[i,j])} //ler do teclado
               dados[i,j] <- Carac(97+Randi(26))//gera letras de "a" a "z"
            fimPara
         fimPara

         //exibe a matriz de dadis na tela
         escreval("")
         escreval("A sopa de letras é:")
         para i de 1 ate 5 faca
            para j de 1 ate 5 faca
               escreva (dados[i,j])
            fimPara
            escreval("")
         fimPara

         //preenche o vetor de letras
         escreval ("")
         escreval(" As letras introduzidas são:")
         para k de 1 ate 6 faca
            {leia(letras[k])}
            letras[k] <- Carac(97+Randi(26)) //gera letras de "a" a "z"
         fimPara
         
         para k de 1 ate 6 faca //para cada posição do vetor letras[]
            para i de 1 ate 5 faca //para cada linha da matriz dados[]
               para j de 1 ate 5 faca //para cada coluna da matriz dados[]
                  se letras[k] = dados[i,j] entao
                     contador <- contador+1 //atualiza o contato
                  fimSe
               fimPara
            fimPara
            escreval("->>> Numero de vezes que a letra '",letras[k],"' foi repetida:",contador)
            contador <- 0 //zera o contador para a próxima letra
         fimPara

      caso 2
         escreval ("Tchau")

      fimEscolha
ate opcao=2
fimAlgoritmo

 

Em relação ao seu código original, fica faltando colocar para exibir as coordenas que a letra foi encontrada.

 

 

***

 

Qualquer dúvida é só perguntar.

 

obs.: coloquei o recurso para gerar as letras automaticamente para facilitar os testes... a depender, troque para ler do teclado depois.

 

 

No aguardo.

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!