Ir para conteúdo

Arquivado

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

Sparda

Inserir dados digitados em um vetor.

Recommended Posts

Boa Tarde, pessoal! Estou com um problema de algoritmos para resolver e está um pouco chato, tenho o seguinte problema:

 

Escreva uma função em que receba como parâmetro um Array contendo os votos atribuídos pelos

eleitores em uma eleição e determine se há um vencedor, isto é, um candidato com mais da metade dos

votos. Se não houver um vencedor, sua função deve retornar uma string vazia ('').

Em sua solução, considere a existência da função tamanho() cuja documentação é mostrada a seguir:

função tamanho(entradas: vetor[])

Retorna o número de elementos no vetor passado como parâmetro. Retorna zero se o vetor está

vazio.

 

Exemplos:

 

V ← ['Carro', 'Loja', 'Consórcio', 'Alguel']

imprima tamanho(V) # imprimiria 4

 

Minha pergunta é a seguinte, como posso fazer para que os valores digitador pelos eleitores entrem dentro de um array como pedido no exercício ?

 

OBS: aqui está o exercício inteiro:

 

 

Escreva uma função em que receba como parâmetro um Array contendo os votos atribuídos pelos eleitores em uma eleição e determine se há um vencedor, isto é, um candidato com mais da metade dos votos. Se não houver um vencedor, sua função deve retornar uma string vazia (''). Em sua solução, considere a existência da função tamanho() cuja documentação é mostrada a seguir:função tamanho(entradas: vetor[]) Retorna o número de elementos no vetor passado como parâmetro. Retorna zero se o vetor está vazio.

 

Exemplos:

 

V ← ['Carro', 'Loja', 'Consórcio', 'Alguel']

imprima tamanho(V) # imprimiria 4

 

 

Exemplo. Uma vez que você tiver escrito o código da função vencedorEleicao(), o algoritmo a seguir deveria imprimir a string 'Collor'. Entenda que esse é apenas um exemplo e que sua função deveria funcionar para qualquer array de votos recebido como parâmetro.

função vencedorEleicao(entrada: votos)

 

início

// seu código aqui

fim

início

votos ← ['Collor', 'Renan', 'Sarney', 'Collor',

'Collor', 'Collor', 'Sarney', 'Renan',

'Collor']

imprima vencedorEleicao(votos)

fim

 

 

 

 

 

ninguem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho um rascunho em petqs ...mas estou querendo fazer em visualg para testar ...mas esta dando erro:

 

 

algoritmo "semnome"
// Funcao : vencedoreleiçao (entrada: votos)
// Autor :
// Data : 29/04/2014
// Secao de Declaracões
var
candidatos: vetor[0..2] de caracter
i, j: inteiro
inicio

// Cria a lista de candidatos

candidatos[1] <- votos[1]
total_candidatos <- 1

para i de 2 ate tamanho(votos) faca

achou <- falso

// Procura se o candidato já está na lista
para j <- 1 ate tamanho(candidatos) faca
se votos = candidatos[j] entao
achou <- verdadeiro
j <- tamanho(candidatos) // Pára o laco
fim se
proximo j

// Caso o candidato nao esteja na lista, o inclui
se nao achou entao
total_candidatos <- total_candidatos + 1
candidatos[total_candidatos] <- votos
fim se

proximo i

// Inicializa o vetor com os votos de cada candidato

para i de 1 ate tamanho(candidatos) faca
votos_candidato <- 0
proximo i

// Registra a quantidade de votos de cada candidato

para i de 1 ate tamanho(candidatos) faca
para j <- 1 ate tamanho(votos) faca
se candidatos = votos[j] entao
votos_candidato <- votos_candidato + 1
fim se
proximo j
proximo i

// Verifica se há um vencedor

total_votos <- tamanho(votos)
resultado <- '' // String vazia para retorno padrao

para i <- 1 ate tamanho(candidatos) faca
se votos_candidato > (total_votos / 2) entao
resultado <- candidatos // Informa o vencedor
i <- tamanho(candidatos) // Pára o laco
fim se
proximo i
imprima vencedorEleicao(votos)
fim

Compartilhar este post


Link para o post
Compartilhar em outros sites

var
n,i:inteiro
Collor,Lula,Fernando_Henrique,votar:vetor[1..10] de inteiro
votoCollor,votoFernando,votoLula:inteiro
inicio
Escreval("______________________")
Escreval("1 - Collor ")
Escreval("2 - Fernando_Henrique ")
Escreval("3 - Lula ")
Escreval("______________________")
Escreval("")
n <-10
para i de 1 ate n faca
Escreva(" Por favor ", i," º candidato em que você vai votar: ")
leia(votar)
fimpara
para i de 1 ate n faca
se (votar=1) entao
votoCollor<-votoCollor+1 //acumula a soma de todos os votos para esse candidato
fimse
se votar=2 entao
votoFernando<-votoFernando+1//acumula a soma de todos os votos para esse candidato
fimse
se votar=3 entao
votoLula<-votoLula+1//acumula a soma de todos os votos para esse candidato
fimse
fimpara
Escreval("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
Escreval(" O Candidato Collor está com ",votoCollor," votos")
Escreval(" O Candidato Fernando Henrique está com ",votoFernando," votos")
Escreval(" O Candidato Lula está com ",votoLula," votos")
Escreval("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
fimalgoritmo
Eu não entendi está muito confuso vê se a logica e essa...afinal não estou usando nem função e nem passagem por referencia somente logica.........

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que eles não querem os nomes dos candidatos pre estabelecido no programa, querem que toda pessoa que for usar o programa insira os os candidatos que desejar e depois mostrar o vencedor.

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.