Ir ao conteúdo

VisualG Como colocar Vetores Dentro de Função?


Ir à solução Resolvido por kgin,

Posts recomendados

Postado

Fiz um código onde o usuário escolhe a cadeira B de 1 ate 10,Ex B3 Escolhida!, então B3 na tela fica = [ B 3 ], mas depois da escolha quero que fique assim = [ --- ], ai criei 3 vetores um para fileira B, outro Para Numero da Cadeira e mais um para Lugar, Os Vetores Lugar e Fileira deu certo somente o Numero que não consegui. então minha ideia era fazer uma função que recebesse o vetor de inteiro e retornasse em caractere. Quero ajuda se não for Função, ou Procedimento, Minha ideia e conseguir colocar o caractere "---" dentro do Vetor Numero.

 

algoritmo "ReservarCinema"
var
   Lugar: Vetor[1..10] de Caractere
   Fileira: Vetor[1..10] de Caractere
   Numero: Vetor [1..10] de Inteiro
   Resp2: Caractere
   Cont0,Cont1,Cont2,Resp: Inteiro
Funcao Conv (var Num:Inteiro):Caractere
inicio
   Num <- "-"
   Retorne Num
FimFuncao
inicio
   Para Cont0 de 1 ate 10 Faca
      Para Cont1 de 1 ate 10 Faca
         Fileira[Cont1] <- "B"
         Numero[Cont1] <- Cont1
         Escreval("[ ",Fileira[Cont1],Lugar[Cont1],Numero[Cont1]," ]")
      FimPara
      Escreva("Reservar a cadeira: B")
      Leia(Resp)
      Escreval("Cadeira B",Resp," Reservada!")
      Escreval("Quer reservar outra? (S|N)")
      Leia(Resp2)
      Se (Resp2 = "S")então
         Para Cont2 de Resp ate 10 Faca
            Lugar[Resp] <- "-"
            Fileira[Resp] <- "-"
            Conv(Numero[Resp])
            Escreva(Lugar[Resp])
         FimPara
      Senao
         Escreva("Poxa que pena :(")
         FimAlgoritmo
      Fimse
      LimpaTela
   FimPara
fimalgoritmo

 

  • Membro VIP
Postado

Se no caso só tem uma fileira, poderia utilizar um vetor para as poltronas e o número da cadeira seria a coordenada. Algo como:

var
   poltronasB : vetor [1..10] de caractere

 

 

Exemplo:

algoritmo "Reservas de poltronas prum Cinema"
var
   poltronasB : vetor [1..10] de caractere
   i, j : inteiro
   numPoltrona : inteiro
inicio
   para i de 1 ate 10 Faca
      escreval("[ B", i:2, " - ", poltronasB[i], " ]")
   fimPara

   escreva("Reservar a cadeira: B")
   leia(numPoltrona)
   poltronasB[numPoltrona] <- "Ocupado"

   escreval("Cadeira B", numPoltrona:1, " reservada!")

   para i de 1 ate 10 Faca
      escreval("[ B", i:2, " - ", poltronasB[i], " ]")
   fimPara
fimAlgoritmo

 

image.png

 

 

@Caiomqc, qual o enunciado desse problema? A forma que vai implementar uma solução vai depender das característica do problema.

  • Curtir 1
Postado

Enunciado:

Desenvolva um algoritmo chamado "ReservarCinema" que simule a reserva de lugares em um cinema. O cinema possui 10 fileiras com 10 lugares cada, identificados por letras de "A" a "J" para a fileira e números de 1 a 10 para o lugar. Inicialmente, todos os lugares estão disponíveis (indicados por "-"). O algoritmo deve permitir ao usuário escolher um lugar para reservar, marcando-o como ocupado (indicado por "B"). O usuário pode fazer múltiplas reservas, e após cada reserva, o programa deve perguntar se deseja fazer outra reserva. Caso a resposta seja afirmativa, o lugar escolhido anteriormente é liberado. Caso contrário, o programa é encerrado. O algoritmo deve exibir mensagens apropriadas durante todo o processo, informando se o lugar está ocupado ou foi reservado com sucesso.

Lembrando que a reserva é feita da seguinte forma:
- Cada lugar é identificado pela combinação de fileira, lugar e número.
- As fileiras vão de "A" a "J".
- O número dos lugares vai de 1 a 10.

O algoritmo deve ser capaz de:

1. Apresentar o estado atual dos lugares (disponíveis ou ocupados).
2. Permitir a reserva de um lugar, marcando-o como ocupado.
3. Verificar se um lugar está disponível antes de reservá-lo.
4. Perguntar ao usuário se deseja fazer mais reservas após cada reserva realizada.
5. Liberar um lugar caso o usuário deseje fazer outra reserva.

Lembre-se de implementar as verificações adequadas para lidar com situações em que o usuário insere valores inválidos ou realiza reservas em lugares já ocupados.

  • Solução
Postado

Ficaria mais fácil usando vetores

exemplo

algoritmo "reserva_lugares"

const
   QUANTIDADE_LINHAS = 10
   QUANTIDADE_COLUNAS = 10

   LUGAR_VAZIO = 0
   LUGAR_RESERVADO = 1

var
   lugares: vetor [1..QUANTIDADE_LINHAS, 1..QUANTIDADE_COLUNAS] de inteiro
   btecla: caractere
   fileira: caractere
   cadeira: inteiro

procedimento limpa_lugares
var
   linhas, colunas:inteiro

inicio
   para linhas de 1 ate QUANTIDADE_LINHAS faca
      para colunas de 1 ate QUANTIDADE_COLUNAS faca
         lugares[linhas, colunas] <- LUGAR_VAZIO
      fimPara
   fimPara
fimProcedimento

procedimento mostra_lugares
var
   linhas, colunas:inteiro

inicio
   escreva("-")
   para colunas de 1 ate QUANTIDADE_COLUNAS faca
      se colunas < QUANTIDADE_COLUNAS então
         escreva(colunas)
      seNao
         escreval(colunas)
      fimSe
   fimPara

   para linhas de 1 ate QUANTIDADE_LINHAS faca
      escreva(carac(asc("A")+(linhas-1)))
      escreva(" |")
      para colunas de 1 ate QUANTIDADE_COLUNAS faca
         se lugares[linhas, colunas] = LUGAR_VAZIO então
            se colunas < QUANTIDADE_COLUNAS então
               escreva("-|")
            seNao
               escreva("-")
            fimSe
         seNao
            se colunas < QUANTIDADE_COLUNAS então
               escreva("B|")
            seNao
               escreva("B")
            fimSe
         fimSe
      fimPara
      escreval("|")
   fimPara
fimProcedimento

inicio
   limpa_lugares
   limpaTela
   mostra_lugares
   escreval("Digite a fileira desejada")
   leia(fileira)
   escreval("Digite a cadeira desejada")
   leia(cadeira)
   lugares[(asc(maiusc(fileira))-asc("A"))+1, cadeira] <- LUGAR_RESERVADO
   mostra_lugares
fimAlgoritmo

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!