Ir ao conteúdo
  • Cadastre-se

VisualG Como colocar Vetores Dentro de Função?


Ir à solução Resolvido por kgin,

Posts recomendados

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

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

  • Solução

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
Link para o comentário
Compartilhar em outros sites

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!