Fórum dúvida em exercício #623662

11/02/2025

0

C#

estou com dúvidas nesse exercício (c#):
Faça um programa que apure o resultado de uma votação para determinar o representante da turma do 1º
período do curso de Sistemas de Informação. O programa deverá solicitar que seja informada a quantidade de
candidatos a representante. Em seguida, o programa deverá ler os nomes dos candidatos. O primeiro candidato
informado terá o número 0, o segundo candidato informado terá o número 1, o terceiro candidato informado
terá o número 2, e assim por diante. O programa deverá ler os votos de 60 alunos, isto é, o número do candidato
que cada um dos 60 alunos deseja votar. O programa deverá calcular e apresentar como resultado:
• o nome e a quantidade de votos do candidato mais votado
• o número e a quantidade de votos do candidato menos votado
• a quantidade de votos nulos (isto é, número inválido)

meu código por enquanto está assim:
using System;

namespace exc_4;

class Program
{
static void Main(string[] args)
{
int n, voto, nulos = 0, indexMaisVotado = 0;
string[ ] nomes;
int[] votos;


Console.WriteLine("numero de candidatos: ");
n = int.Parse(Console.ReadLine());
nomes = new string[n];
votos = new int[n];

for(int i = 0; i < n; i++)
{
Console.WriteLine($"nome do candidato :");
nomes[i] = Console.ReadLine();
}
}
}

acho que minha principal duvida é na hora de comparar os votos do array, qualquer ajuda é bem vinda.
Theosux

Theosux

Responder

Posts

11/02/2025

Arthur Heinrich

Você está indo bem.

Você parou na parte inicial, onde são pedidos os nomes dos n candidatos.

Agora precisa fazer outro loop, de 0 a 59, para solicitar o número do candidato que cada eleitor deseja votar e, caso ele tenha escolhido um candidato válido (0 <= candidato < n), você acumula mais um voto para o candidato escolhido. Caso o voto não seja válido, compute 1 voto inválido.

Lembre-se de zerar as quantidades dos votos dos n candidatos, antes de iniciar a votação.

Numa situação mais complexa, para obter todos os candidatos na ordem do mais votado para o menos votado, você precisaria ordenar os arrays nomes e votos simultaneamente. Porém, neste caso, basta encontrar o mais votado e, em seguida, o menos votado.

Para isto, basta fazer uma varredura simples. Assuma, inicialmente, que o seu candidato mais votado é o último (n-1). depois, vá varrendo os candidatos com i entre n-2 até o zero e, se algum deles tiver mais ou menos votos do que o selecionado até então, selecione o novo (i). Ao chegar no i = -1 você terá concluído a varredura e terá o índice do candidato mais ou menos votado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar