TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Vetores e Acumuladores

Por:   •  10/8/2015  •  Abstract  •  1.675 Palavras (7 Páginas)  •  265 Visualizações

Página 1 de 7

VETORES ACUMULADORES/CONTADORES/”TRONO

[pic 1]


PROBLEMA:

Faça um programa para apurar os votos e determinar o novo presidente do clube de figurinhas!!!

Como será a eleição?

        Quantidade de candidatos: 5

        Identificação dos candidatos: nº entre 1 e 5

        Os  30 sócios votam no número do candidato.

SOLUÇÃO:

DECLARANDO AS VARIÁVEIS

Uma urna para cada candidato:

[pic 2]

As urnas  comportam-se como uma variável contadora!!!

Precisa-se de 5 urnas   5 variáveis contadoras  Coleção de variáveis contadoras [pic 3]

                            

vetor de inteiros  ( int vurnas[5]; )

[pic 4]

CONTABILIZANDO OS VOTOS

a)        COMO RELACIONAR AS POSIÇÕES DO VETOR AOS CANDIDATOS????

Como os candidatos são representados por números conhecidos e seqüenciais dentro de um intervalo (1 a 5),  o próprio  número identificador do candidato é usado para selecionar a posição do vetor.  Portanto, o nº do candidato é utilizado para acessar diretamente a posição do vetor que armazena seus votos.

Número do Candidato

Posição

1

0

2

1

3

2

4

3

5

4

pos = numcandidato – 1

 b) INICIALIZANDO O VETOR DE CONTADORES


   Para usar uma variável contadora, é necessário inicializá-la!!! Portanto, para usar o vetor  de contadores de voto é preciso colocar  0 em cada uma das posições!!!

c) APURANDO OS VOTOS :Capturar o voto dos eleitores atualizando  a urna de seus candidatos

REPETIR

Captura o  voto do eleitor

posição do vetor =  nº candidato que está no voto do eleitor  -1 vurnas[pos]=vurnas[pos]+1;

ENCONTRANDO O VENCEDOR:  

        Percorrer o vetor de contadores de votos para determinar a posição que armazena o maior valor.

Com esta posição, calcula-se o número do candidato

posdomaior =  0

Para as demais posições

Se vurnas[pos] > vurnas[posdomaior]

Posdomaior = pos

#define TAM 5

void zera( int v[], int n);

void contabiliza( int vurnas[], int n);

void  det_posdomaior(int vurnas[], int n);

int main(void)

{

int vurnas[TAM], ,posdomaior;

zera(vurnas,TAM);

contabiliza( vurnas,TAM);

posdomaior = det_posdomaior(vurnas, TAM);

printf( “ Novo presidente %d:”, posdomaior+1);

return 0;

}

void zera( int v[], int n)

{

        int i;

for (i=0; i

                v[i]=0;

}

return;

}

void contabiliza( int vurnas[], int n)

{

int,pos,socios,voto;

for ( socios=0;socios<30;socios++) {        

        printf( “Digite o voto:” );        

scanf(“%d”,&voto));

if( voto>=1 && voto <=5) {

                pos = voto-1;

                (vurnas[pos]) ++;

        }

}

return;

}

void  det_posdomaior(int v[urnas], int n)

{

int pos, posdomaior = 0;

for (pos=1;pos

if vurnas[pos] > vurnas[posdomaior])

posdomaior = pos;

}

return posdomaior;

}

EXERCÍCIO DE FIXAÇÃO

  1. 1) Uma escola deseja escolher a rainha da escola através de uma eleição onde participarão todos os alunos. Cada aluno escolherá  uma rainha. Há 10 candidatas a rainha identificadas  por números de 101 a 110. Faça um programa que inicialmente obtenha a quantidade de alunos da escola. A seguir, para cada aluno deverão ser lidos os votos  para rainha. Este programa deverá exibir  a rainha da escola, ou seja, aquela que tiver mais votos.

EXERCÍCIOS OBRIGATÓRIOS

1.        A Naiky realizou uma pesquisa numa universidade para ajudar a quantificar a produção  de seu novo modelo de tênis nos diferentes tamanhos. Os modelos serão produzidos nos tamanhos 35 a 44. Faça um programa que capture   o tamanho de cada aluno entrevistado e exiba na tela o percentual de alunos por tamanho.

Exemplo:

Entrada:         35  34 42 35 36 44 46 44 35 36 3744

        Saída: tamanho 35 – percentual: 30

                       tamanho 36 – percentual: 20

                tamanho 37 – percentual: 10

tamanho 38 – percentual: 0

tamanho 39 – percentual: 0

tamanho 40 – percentual: 0

tamanho 41 – percentual: 0

tamanho 42 – percentual: 10

tamanho 43 – percentual: 0

tamanho 44 – percentual: 30

  1. Uma locadora  de jogos deseja  realizar uma promoção  na qual, para cada 10 jogos retirados, o cliente tem direito a uma locação grátis.

Para realizar esta promoção entre seus 10 clientes, registrou no mês de abril,  o número do cliente( valor entre 1 e 10),  dia da retirada  e quantidade de jogos retirados por ele neste dia. O mesmo cliente pode realizar várias retiradas no mês de abril.

Faça um programa que implemente a promoção da locadora, mostrando na tela, a quantidade de locações gratuitas  que cada cliente tem direito.

...

Baixar como (para membros premium)  txt (7.8 Kb)   pdf (167 Kb)   docx (26.5 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com