Ir para conteúdo
Fórum Script Brasil
  • 0

Contador em Vetores


Eduardo Oliveira

Pergunta

Bom Dia Pessoal,

Estou com uma dúvida cruel. Como faço para pesquisar e contar "quantas vezes um mesmo número foi inserido dentro de um vetor de "x" posições??". O problema é o seguinte: Estou fazendo um sistema simulador de uma Urna Eletrônica. Aí por exemplo: Cadastrei lá 10 candidatos em um Vetor de 10 posições que irão concorrer à eleição. Depois criei um outro vetor de votação. E a cada voto preciso pesquisar dentro do vetor de cadastro se existe algum candidato cadastrado com aquele número e se existir verificar em qual posição ele se encontracontar para então poder contar quantas vezes/quantos votos aquele candidato irá ter..???

Quem pode me ajudar ?? estou precisando muito de um Help, e agradeço quem puder contribuir.

Att,

Eduardo Oliveira

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Voce pode implementar com dois laços.

Um percorrendo o vetor de candidatos e o outro percorrendo o vetor dos votos.

O laço que fará a comparação ficará mais ou menos assim:

...
qtdvotos = 0;
for(int i=0; i<(tamanho vetor "votos"); i++){
    if(canditato[contador_outro_laço] == votos[i])
        qtdvotos+=1;
}
printf("Canditado obteve %d votos",qtdvotos);

Editado por kandrade
Link para o comentário
Compartilhar em outros sites

  • 0

Olha só..até tentei fazer o que tu me aconselhou, mas confesso q ainda me atrapalho com algumas questões (por exemplo a variável do índice).

Segue o código da Minha Urna abaixo. Eu to desenvolvendo e compilando no Dev C++. Tenta executar pra voce ver onde está falhando e quem sabe possa você possa me dizer onde eu estou %#¨$# . É praticamente a última etapa do meu programa e não consigo sair dela há dias. estou meio apavorado já.

Agradecido pela sua atenção.

Eduardo Oliveira.

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX_CAND 4
#define MAX_VOTOS 10
int main (int argc,char*argv){
int qtd_cand,j,k,y,tst,l,valida,cont;
int qtdvotos=0;
int num,saida=0,x=0;
int op_cadastro_cand,op_lista_voto,op_apuracao;
int brancos=0,nulos=0;
char escolha[2];
char encerrar_continuar,voltar_voto;
int numero[MAX_CAND];
char nome[255][MAX_CAND];
int voto[MAX_VOTOS];
int cont_votos[20];
//Menu 1 : Inicialização do Sistema - Cadastrar Candidatos.
system("cls");
printf("\n");
printf("-----------------------------------------------\n");
printf(" SIMULADOR SISTEMA URNA ELETRONICA \n");
printf("-----------------------------------------------\n");
printf("\n\n");
printf(" [1] Cadastrar Candidatos no Sistema\n");
scanf("%d",&op_cadastro_cand);
//Inclusão dos Candidatos Até N.
if(op_cadastro_cand==1){//IF-(A)
for(qtd_cand=0;qtd_cand<MAX_CAND;qtd_cand++){//FOR-(A)
//MENU 1 : Cadastro dos Candidatos
system("cls");
printf("\n");
printf("-----------------------------------------------\n");
printf(" CADASTRO DOS CANDIDATOS \n");
printf("-----------------------------------------------\n");
printf("\n\n");
printf(" Informe o nome do %d %c candidato:\n",qtd_cand+1,167);
scanf("%s",&nome[qtd_cand]);
printf(" Informe o numero de sua chapa:\n");
scanf("%d",&numero[qtd_cand]);
tst=numero[qtd_cand];
bool achou = false;
for(j=0;j<qtd_cand;j++){//FOR-(B)
if (tst==numero[j]){//IF-(B)
achou = true;
system("cls");
printf("\n");
printf("--------------- ATENCAO ---------------\n");
printf("\n");
printf(" NUMERO já CADASTRADO PARAR OUTRO CANDIDATO \n");
printf("TECLE 1 PARA CONTINUAR E INFORMAR OUTRO NUMERO\n");
printf("----------------------------------------------\n");
break;
system("pause");
}//fecha chave do IF-(B)
}//fecha chave do FOR-(B)
if (achou){//IF-©
qtd_cand--; //Aqui ele decrementa 1 do i pra q ele digite de novo o mesmo numero
}//fecha chave do IF-©
printf("\n\n");
printf("[0] ENCERRAR INCLUSAO [1] CONTINUAR\n");
printf("\n");
scanf("%d",&encerrar_continuar);
if (encerrar_continuar==0){//IF-(D)
break;//SAI DO FOR E VAI PARA O MENU 2
}//fecha chave do IF-(D)
if (encerrar_continuar!=0){//IF-(E)
continue;
} //fecha chave do IF-(E)

} //fecha chave do FOR-(A)
}//fecha chave do IF-(A)

//MENU 2 : Listar Candidatos e Iniciar Votação.
do{//Abre laço de repetição do Menu2
system("cls");
printf("\n");
printf("-----------------------------------------------\n");
printf(" MENU SISTEMA - Entre com a opcao \n");
printf("-----------------------------------------------\n");
printf("\n\n");
printf(" [1] Listar Candidatos Cadastrados\n");
printf(" [2] Iniciar Votacao\n");
scanf("%d",&op_lista_voto);
//Listagem dos Candidatos Cadastrados
system("cls");

if (op_lista_voto==1){//IF-(F)

printf("---------------------------------------\n");
printf(" CANDIDATOS CADASTRADOS: \n");
printf("---------------------------------------\n");
printf(" Numero: Nomes: \n");
printf("---------------------------------------\n");
for(j=0;j<=qtd_cand;j++){//FOR-©
printf(" %d \t %s\n",numero[j],nome[j]);
}//Fecha chave FOR-©
printf("\n\n");
printf("[0] Voltar ao Menu Anterior e Iniciar Voatacao\n");
scanf("%d",&voltar_voto);
if (voltar_voto==0){//IF-(G)
continue;
}//Fecha a chave IF-(G)
}//Fecha a chave IF-(F)

if (op_lista_voto==2){


for(j=0;j<MAX_VOTOS;j++){//Abre o FOR
system("cls");
printf("\n");
printf("-----------------------------------------------\n");
printf(" VOTACAO \n");
printf("-----------------------------------------------\n");
printf("INFORME O NUMERO DO SEU CANDIDATO: \n");
printf("\n\n");
printf("[B] BRANCO [N] NULO [S] SAIR \n");
printf("\n");
scanf("%s",&escolha);
printf("\n\n");
switch(escolha[0]){
case 'b':
case 'B':
system("cls");
printf("\n");
printf("---------- SEU VOTO FOI EM BRANCO ---------\n");
printf("\n");
printf("[0] CONFIRMA\n");
scanf("%d",&valida);
if (valida==0){
brancos=brancos+1;
continue;
}
break;
case 'n':
case 'N':
system("cls");
printf("\n");
printf("---------- SEU VOTO FOI NULO ---------\n");
printf("\n");
printf("[0] CONFIRMA\n");
scanf("%d",&valida);
if (valida==0){
nulos=nulos+1;
continue;
}
break;
case 's':
case 'S':
break;

//AQUI INICIA O TRECHO DAS VOTAÇÕES E DO CONTADOR DO Nº DE VOTOS PARA CADA POSIÇÃO

default:
num=atoi(escolha);
for (y=0;y<=qtd_cand;y++){
for(l=0;l<MAX_VOTOS;l++){
if (numero[l]==num){
qtdvotos+=1;
}
}
}
if (y==qtd_cand){
printf(" POR FAVOR INFORME UM NUMERO VALIDO \n");
system("pause");
}

}//FECHA SWITCH

}//FECHA O FOR
break;
}//Fecha o IF

}while(voltar_voto==0||op_lista_voto!=2);//Fecha o do do Menu 2
printf("total votos Branco %d\n",brancos);
printf("total votos Nulos %d\n",nulos);
for(j=0;j<MAX_CAND;j++){//FOR-©
printf(" %d \t %s\n",numero[j],nome[j]);
printf(" Votos %d\n",qtdvotos);
}//Fecha chave FOR-©
system("pause");

getch();
}[/CODEBOX]

Editado por Mônica Bonna
Tags de Codigo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...