Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RaDioaMaDoR

Modificar dimensão de uma variável

Recommended Posts

Como faço para mudar o valor do vetor??

Quando mudo informa que violou alguma coisa...

 

 

 

var

f,n,t:inteiro //total de cada tipo

i,j,maisvendido:inteiro //contadores e temporarios

mediaf,median,mediat:real

aux:caractere //contadores e temporarios

tipoValido:logico

titulo,tipo: vetor [1..100] de caractere <--

preco: vetor [1..100] de real <- DUVIDA AQUI... (mudar esse 100 por um numero maior possivel)

qtd: vetor [1..100] de inteiro <--

 

inicio

// Seção de Comandos

//entrada de dados

i<-0

repita

escreval("Informe o título do livro:")

leia(aux)

se (aux <> "fim") entao

i<-i+1

titulo<-aux

repita

escreval("Informe o tipo do livro:")

leia(tipo)

se (tipo = "F") entao

f<-f+1

tipoValido<-verdadeiro

senao

se (tipo = "N") entao

n<-n+1

tipoValido<-verdadeiro

senao

se (tipo = "T") entao

t<-t+1

tipoValido<-verdadeiro

senao

escreval("Tipo de livro inválido, Por favor informe um tipo válido.")

fimse

fimse

fimse

ate tipoValido=verdadeiro

tipoValido<-falso

escreval("Informe o preço do livro:")

leia(preco)

escreval("Informe a quantidade do livro:")

leia(qtd)

fimse

ate (aux="fim")

//fim da entrada de dados, inicio do processamento

 

escreval("Total de livros de ficção: ",f)

escreval("Total de livros de não-ficção: ",n)

escreval("Total de livros técnicos: ",t)

//calcula a media de preços de livros de ficção e procura pelo best-seller

para j de 1 ate i faca

se tipo[j]= "F" entao

mediaf<-preco[j]+mediaf //somatorio dos preços de livros de ficção

senao

se tipo[j] = "N" entao

median<-preco[j]+median //somatorio dos preços de livros de ficção

senao

se tipo[j] = "T" entao

mediat<-preco[j]+mediat

fimse

fimse

fimse

se (qtd[j]> maisvendido) entao

maisvendido<-j

fimse

fimpara

se mediaf>0 entao

mediaf<-mediaf/f

fimse

se median>0 entao

median<-median/n

fimse

se mediat>0 entao

mediat<-mediat/t

fimse

escreval("A média de preços do mês foi: ")

escreval("Livros de Ficção: R$ ",mediaf)

escreval("Livros de Não-Ficção: R$ ",median)

escreval("Livros Técnicos: R$ ",mediat)

 

escreval("O livro mais vendido foi ",titulo[maisvendido],", Que custa R$",preco[maisvendido])

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

preco: vetor [1..100] de real <- DUVIDA AQUI... (mudar esse 100 por um numero maior possivel)qtd: vetor [1..100] de inteiro <--
Isso não é possível.A melhor coisa a se fazer quando não sabe a quantidade de variáveis de entrada é usar alocação dinâmica, mas como em portugol acho que não tem implementação disso voce terá que limitar a sua entrada mesmo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

preco: vetor [1..100] de real <- DUVIDA AQUI... (mudar esse 100 por um numero maior possivel)qtd: vetor [1..100] de inteiro <--
Isso não é possível.A melhor coisa a se fazer quando não sabe a quantidade de variáveis de entrada é usar alocação dinâmica, mas como em portugol acho que não tem implementação disso voce terá que limitar a sua entrada mesmo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
mas tipo, qual o maior numero?? 500, 600, 1000??o professor fez essa pergunta a tdos... e ningum sabia o pq...em um algoritmo anterior eu consegui colocar axo que 500, mas esse nao ta aceitando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas tipo, qual o maior numero?? 500, 600, 1000??o professor fez essa pergunta a tdos... e ningum sabia o pq...em um algoritmo anterior eu consegui colocar axo que 500, mas esse nao ta aceitando...

Aqui diz que Portugol não tem limite:http://orion.ipt.pt/~manso/Portugol/help/index.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas tipo, qual o maior numero?? 500, 600, 1000??o professor fez essa pergunta a tdos... e ningum sabia o pq...em um algoritmo anterior eu consegui colocar axo que 500, mas esse nao ta aceitando...

Aqui diz que Portugol não tem limite:http://orion.ipt.pt/~manso/Portugol/help/index.html
eaaa amigo, nem conheço o Portugol, mas ele eh a cara do pascal..entao..ateh onde sei, não há limite não..hehehevocê pode criar uma variavel, e setar ela com a quantidade desejada..ai..o vetor ficaria assim [1...x] onde x eh a quantidade digitada pelo usuario..mas como tem anos que nao vejo pascal...posso ta enganado!!heheheheabraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, nao tem limite.Mas tipo, quando eu altero, ele diz que eu estou violando num sei o que la...e nao aceita que eu mude de modo algum... se alguem conseguir mudar e executar o programa pls me diga... tenho que levar isso funcionando amanha pela manha...vlw ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, não tem como fazer isso.É como se voce tentasse fazer isso:int a;char a;declarar duas variáveis com o mesmo identificador com tipos diferentesou ainda no seu caso:int vetor[1...100]...int vetor[1...1000]declarar duas variáveis com o mesmo identificador com dimesões diferentes.Voce pode declarar uma variável com o mesmo identificador em escopos diferentes, por exemplo em uma funcão. Ela será válida somente naquele escopo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Tudo bem, nao tem limite.Mas tipo, quando eu altero, ele diz que eu estou violando num sei o que la...e nao aceita que eu mude de modo algum... se alguem conseguir mudar e executar o programa pls me diga... tenho que levar isso funcionando amanha pela manha...vlw ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz algumas altereções ve se funciona.

 

 

var

f,n,t:inteiro //total de cada tipo

i,j,maisvendido:inteiro //contadores e temporarios

mediaf,median,mediat:real

aux:caractere //contadores e temporarios

tipoValido:logico

titulo,tipo: vetor [1..800] de caracter //corrigido de caractere para caracter e alterado o tamanho do vetor para 800 você pode colocar qualquer valor

preco: vetor [1..800] de real //colocado 800

qtd: vetor [1..800] de inteiro // colocado 800

 

inicio

// Seção de Comandos

//entrada de dados

i<-0

repita

escreval("Informe o título do livro:")

leia(aux)

se (aux <> "fim") entao

i<-i+1

titulo<-aux

repita

escreval("Informe o tipo do livro:")

leia(tipo)

se (tipo = "F") entao

f<-f+1

tipoValido<-verdadeiro

senao

se (tipo = "N") entao

n<-n+1

tipoValido<-verdadeiro

senao

se (tipo = "T") entao

t<-t+1

tipoValido<-verdadeiro

senao

escreval("Tipo de livro inválido, Por favor informe um tipo válido.")

fimse

fimse

fimse

ate tipoValido=verdadeiro

tipoValido<-falso

escreval("Informe o preço do livro:")

leia(preco)

escreval("Informe a quantidade do livro:")

leia(qtd)

fimse

ate (aux="fim")

//fim da entrada de dados, inicio do processamento

 

escreval("Total de livros de ficção: ",f)

escreval("Total de livros de não-ficção: ",n)

escreval("Total de livros técnicos: ",t)

//calcula a media de preços de livros de ficção e procura pelo best-seller

para j de 1 ate i faca

se tipo[j]= "F" entao

mediaf<-preco[j]+mediaf //somatorio dos preços de livros de ficção

senao

se tipo[j] = "N" entao

median<-preco[j]+median //somatorio dos preços de livros de ficção

senao

se tipo[j] = "T" entao

mediat<-preco[j]+mediat

fimse

fimse

fimse

se (qtd[j]> maisvendido) entao

maisvendido<-j

fimse

fimpara

se mediaf>0 entao

mediaf<-mediaf/f

fimse

se median>0 entao

median<-median/n

fimse

se mediat>0 entao

mediat<-mediat/t

fimse

escreval("A média de preços do mês foi: ")

escreval("Livros de Ficção: R$ ",mediaf)

escreval("Livros de Não-Ficção: R$ ",median)

escreval("Livros Técnicos: R$ ",mediat)

 

escreval("O livro mais vendido foi ",titulo[maisvendido],", Que custa R$",preco[maisvendido])

fimalgoritmo

 

 

 

 

 

Como eu disse, não tem como fazer isso.

 

É como se voce tentasse fazer isso:

 

int a;

char a;

 

declarar duas variáveis com o mesmo identificador com tipos diferentes

ou ainda no seu caso:

 

int vetor[1...100]

.

.

.

int vetor[1...1000]

declarar duas variáveis com o mesmo identificador com dimesões diferentes.

 

Voce pode declarar uma variável com o mesmo identificador em escopos diferentes, por exemplo em uma funcão. Ela será válida somente naquele escopo.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Tudo bem, nao tem limite.

 

Mas tipo, quando eu altero, ele diz que eu estou violando num sei o que la...

e nao aceita que eu mude de modo algum... se alguem conseguir mudar e executar o programa pls me diga... tenho que levar isso funcionando amanha pela manha...

 

 

vlw ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

obreigado a todos pelas ajudas...

 

consegui a aprovação na disciplina... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

obreigado a todos pelas ajudas...consegui a aprovação na disciplina... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Parabéns!!!É isso ai. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.