Eduardo Oliveira
Membros-
Total de itens
8 -
Registro em
-
Última visita
Tudo que Eduardo Oliveira postou
-
URGENTE: Ordenação de Vetores em C
pergunta respondeu ao Eduardo Oliveira de Eduardo Oliveira em C, C++
Falou meu amigo. Desculpa não ter registrado o agradecimento antes, pois estava atucanado com a função desse trabalho. Muito Obrigado mesmo. A tua dica me ajudou diretamente na conclusão e entrega do Projeto da facul e para conhecimento atingi a nota máxima da cadeira. Obrigado mesmo mais uma vez. Att, Eduardo Oliveira -
Pessoal, Preciso de um help urgente. Alguém pode me dar uma dica de como Ordenar os elementos de um vetor em ordem decrescente. O que tem de errado nessa lógica por exemplo: int vet[3]; vet[0] = 3; vet[1] = 1; vet[2] = 5; int vet2[3]; int x = 0; int y = 0; for (int i=0; i<3; i++) { for (int j=0; j<3; j++) if (vet[j] > x) { x = vet[j]; y = j; } vet2 = x; vet[y] = 0; } Agradeço desde já pela atenção. Att, Eduardo Oliveira
-
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]
-
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
-
então, é como aquele exemplo do j q eu passei. o i esta guardando o ultimo valor q ele digitou. então você faria um for ate o i em vez de ate o N. Beleza..beleza..consegui fazer..to começando a ficar craque em vetores hein..hehe. Valeu mais uma vez pela força e atenção. Depois que ficar pronto, eu entregar o Projeto e tudo mais compartilho com você minha Nota ok. Abraço. Att, Eduardo
-
Kuroi, Ainda tenho dificuldade na lógica do for por exemplo..É bem como tu falou..agora por exemplo eu queria listar os candidatos cadastrados, porém eu pesquisando no vetor enquanto (i<N) ele imprime todas as posições até N. Isso quer dizer se eu cadastro apenas 1 candidato, mesmo assim ele imprime todas as posições do Vetor até N (com caractéres alheios). Como posso fazer para ele me listar somente os candidatos cadastrados até o momento? Segue o código: #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define N 5 int main (){ int i,j,tst; int op_1,op_2; char opint_1,opint_2; int numero[10]; char nome[25][10]; //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_1); //Inclusão dos Candidatos Até N. if(op_1==1){ for(i=0;i<N;i++){ 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",i+1,167); scanf("%s",&nome[i]); printf(" Informe o numero de sua chapa:\n"); scanf("%d",&numero[i]); tst=numero[i]; bool achou = false; for(j=0;j<i;j++){ if (tst==numero[j]){ 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"); } } if (achou){ i--; //Aqui ele decrementa 1 do i pra q ele digite de novo o mesmo numero } /**/printf("\n\n"); printf("[0] ENCERRAR INCLUSAO [1] CONTINUAR\n"); printf("\n"); scanf("%d",&opint_1); if (opint_1==0){ break; } if (opint_1!=0){ continue; } /**/ } //Menu 2 : Listar Candidatos e Iniciar Votação. 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_2); //Listagem dos Candidatos Cadastrados system("cls"); if (op_2==1){ printf("-----------------------------------------------\n"); printf(" CANDIDATOS CADASTRADOS: \n"); printf("-----------------------------------------------\n"); printf(" Nomes: Numeros: \n"); printf("-----------------------------------------------\n"); for(i=0;i<N;i++){ printf(" %s %d\n",nome[i],numero[i]); } } } getch(); }
-
Kuroi, / / ! Funcionou perfeitamente. Tu não tem noção do tempo que eu já estava quebrando a cabeça em cima deste código. Estou para te dizer que muitas das vezes o se aprende mais aqui no Fórum do que na própria Faculdade. Muuuuuuuuito Obrigado mesmo! Uma única duvida que ainda fiquei é quanto ao que voce disse que não preciso ir até o final do (N) e ir só onde ele digitou até agora. Não sei se é isso que voce quer dizer, mas te confesso que o que eu quero realmente é que saia do laço quando quiser (finalize/saia da inclusão de candidatos quando desejar) mas agora terei que estudar como fazer essa implementação. Se tiver uma dica para me dar em relação a isso, será bem vinda. Deixando claro que não quero estar sendo chato viu..quando puder tá beleza. Mais uma vez, Muito Obrigado! Abraço! Eduardo
-
Putz..já começei mal..rsrs. Olha só. Para ficar melhor entendível o meu problema execute ele e informe um número "x" do 1º canditado, em seguida informe um número diferente para o 2º e 3º candidato. Quando chegar no 4º candidato, informe o mesmo número que você digitou para o 1º candidato novamente, aí você vai ver o problema. Obrigado. Eduardo Segue meu código: #include <stdio.h> #include <stdlib.h> #define N 5 int main (){ int i,j,op_1,tst; int numero[10]; char nome[255][10]; label: system("cls"); printf("-- JUSTICA ELEITORAL --\n"); printf("\n"); printf("1. Inclusao\n"); scanf("%d",&op_1); for(i=0;i<N;i++){ printf("Entre com o nome do candidato %d\n",i+1); scanf("%s",&nome[i]); printf("Entre com o numero dele\n"); scanf("%d",&numero[i]); tst=numero[i]; for(i=0;i<N;i++){ if (tst==numero[i]){ break; } if (tst!=numero[i]){ continue; } } } goto label; }