Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- class Votaciones{
- public static void main(String[] args) throws java.io.IOException{
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- PrintStream out = System.out;
- // nombres de las provincias
- String prov1 = "Krikri", prov2 = "Cocos", prov3 = "Tiribri";
- // nombres de los partidos
- String partido1 = "RENREN", partido2 = "RINRIN", partido3 = "RUNRUN";
- // nombres de las provincias con mayor cantidad de votos totales y por cada partido
- String provMayorNombre = "", provMayor1Nombre = "", provMayor2Nombre = "", provMayor3Nombre = "",
- provsDelPart1 = "", provsDelPart2 = "", provsDelPart3 = "";
- // cantidad mayor de votos totales y por cada partido en las provincias
- int provMayorVotos = 0, provMayor1 = 0, provMayor2 = 0, provMayor3 = 0;
- int continuar = 0;
- int totalVotantes = 2835357, nMesa = 0;
- int numProvincias = 3;
- // total de votos por cada partido, nulos y blancos
- int totalVotos1 = 0, totalVotos2 = 0, totalVotos3 = 0,
- totalVotosNulos = 0, totalVotosBlancos = 0, totalVotos = 0;
- for(int i = 0; i < numProvincias; i++){
- String ganadorProv, nombreProv;
- int provVotos1 = 0, provVotos2 = 0, provVotos3 = 0,
- provVotosNulos = 0, provVotosBlancos = 0, provTotalVotos = 0;
- // determinar el nombre de la provincia
- if(i == 0){
- nombreProv = prov1;
- }else{
- if(i == 1){
- nombreProv = prov2;
- }else{
- nombreProv = prov3;
- }
- }
- out.println("--Provincia "+nombreProv+"--");
- out.println();
- do{
- nMesa++;
- out.println("--Mesa "+nMesa+"--");
- out.println();
- out.print("Cantidad de votos por "+partido1+": ");
- int votos1 = Integer.parseInt(in.readLine());
- out.print("Cantidad de votos por "+partido2+": ");
- int votos2 = Integer.parseInt(in.readLine());
- out.print("Cantidad de votos por "+partido3+": ");
- int votos3 = Integer.parseInt(in.readLine());
- out.print("Cantidad de votos nulos: ");
- int votosNulos = Integer.parseInt(in.readLine());
- out.print("Cantidad de votos en blanco: ");
- int votosBlancos = Integer.parseInt(in.readLine());
- out.println("Ingrese:");
- out.println("- 1 si desea continuar");
- out.println("- 0 si ya no hay mas mesas en esta provincia");
- continuar = Integer.parseInt(in.readLine());
- // agregar los votos leidos a los votos de la provincia
- provVotos1 += votos1;
- provVotos2 += votos2;
- provVotos3 += votos3;
- provVotosNulos += votosNulos;
- provVotosBlancos += votosBlancos;
- }while(continuar == 1);
- // determinar el total de votos de la provincia
- provTotalVotos = provVotos1 + provVotos2 + provVotos3 + provVotosNulos + provVotosBlancos;
- // determinar si el total de votos en esta provincia es mayor al total de votos en una provincia
- if(provTotalVotos > provMayorVotos){
- provMayorVotos = provTotalVotos;
- provMayorNombre = nombreProv;
- }
- // determinar si el total de votos por el partido 1 en esta provincia es mayor al total de votos en una provincia por el partido 1
- if(provVotos1 > provMayor1){
- provMayor1 = provVotos1;
- provMayor1Nombre = nombreProv;
- }
- // determinar si el total de votos por el partido 2 en esta provincia es mayor al total de votos en una provincia por el partido 2
- if(provVotos2 > provMayor2){
- provMayor2 = provVotos2;
- provMayor2Nombre = nombreProv;
- }
- // determinar si el total de votos por el partido3 en esta provincia es mayor al total de votos en una provincia por el partido 3
- if(provVotos3 > provMayor3){
- provMayor3 = provVotos3;
- provMayor3Nombre = nombreProv;
- }
- // determinar el partido ganador en la provincia
- if(provVotos1 > provVotos2){
- if(provVotos1 > provVotos3){
- ganadorProv = partido1;
- provsDelPart1 += nombreProv+" ";
- }else{
- ganadorProv = partido3;
- provsDelPart3 += nombreProv+" ";
- }
- }else{
- if(provVotos2 > provVotos3){
- ganadorProv = partido2;
- provsDelPart2 += nombreProv+" ";
- }else{
- ganadorProv = partido3;
- provsDelPart3 += nombreProv+" ";
- }
- }
- out.println("--Provincia "+nombreProv+"--");
- out.println("Cantidad de mesas: "+nMesa);
- out.println("Partido con mayor cantidad de votos: "+ganadorProv);
- out.println();
- // agregar los votos de la provincia a los votos del pais
- totalVotos1 += provVotos1;
- totalVotos2 += provVotos2;
- totalVotos3 += provVotos3;
- totalVotosNulos += provVotosNulos;
- totalVotosBlancos += provVotosBlancos;
- totalVotos += provTotalVotos;
- }
- String ganador, segLugar, provGanador, provsGanador;
- int totalGanador = 0;
- double porcGanador = 0;
- // determinar el porcentaje de abstencionismo
- double porcAbst = (double)(totalVotantes-totalVotos)/totalVotantes*100;
- // determinar los porcentajes de cada partido
- // casteando double para que la division no devuelva un entero
- double porc1 = (double)totalVotos1/totalVotos*100,
- porc2 = (double)totalVotos2/totalVotos*100,
- porc3 = (double)totalVotos3/totalVotos*100;
- // determinar el ganador
- if(totalVotos1 > totalVotos2){
- if(totalVotos1 > totalVotos3){
- ganador = partido1;
- totalGanador = totalVotos1;
- porcGanador = porc1;
- provGanador = provMayor1Nombre;
- provsGanador = provsDelPart1;
- // determinar el partido en 2do lugar
- if(totalVotos3 > totalVotos2){
- segLugar = partido3;
- }else{
- segLugar = partido2;
- }
- }else{
- ganador = partido3;
- totalGanador = totalVotos3;
- porcGanador = porc3;
- provGanador = provMayor3Nombre;
- provsGanador = provsDelPart3;
- // determinar el partido en 2do lugar
- if(totalVotos1 > totalVotos2){
- segLugar = partido1;
- }else{
- segLugar = partido2;
- }
- }
- }else{
- if(totalVotos2 > totalVotos3){
- ganador = partido2;
- totalGanador = totalVotos2;
- porcGanador = porc2;
- provGanador = provMayor2Nombre;
- provsGanador = provsDelPart2;
- // determinar el partido en 2do lugar
- if(totalVotos3 > totalVotos1){
- segLugar = partido3;
- }else{
- segLugar = partido1;
- }
- }else{
- ganador = partido3;
- totalGanador = totalVotos3;
- porcGanador = porc3;
- provGanador = provMayor3Nombre;
- provsGanador = provsDelPart3;
- // determinar el partido en 2do lugar
- if(totalVotos1 > totalVotos2){
- segLugar = partido1;
- }else{
- segLugar = partido2;
- }
- }
- }
- // imprimir info del partido 1
- out.println("--"+partido1+"--");
- out.println("Total de votos: "+totalVotos1);
- out.println("Porcentaje de votos: "+porc1);
- out.println();
- // imprimir info del partido 2
- out.println("--"+partido2+"--");
- out.println("Total de votos: "+totalVotos2);
- out.println("Porcentaje de votos: "+porc2);
- out.println();
- // imprimir info del partido 3
- out.println("--"+partido3+"--");
- out.println("Total de votos: "+totalVotos3);
- out.println("Porcentaje de votos: "+porc3);
- out.println();
- // determinar si el porcentaje del ganador es mayor al 40%
- if(porcGanador > 40){
- out.println("Ganador: "+ganador);
- out.println("Provincias en las que gano: "+provsGanador);
- out.println("Provincia en la que obtuvo el mayor porcentaje de votos: "+provGanador);
- }else{
- out.println("No hay ganador por que ningun partido alcanzo el 40% necesario");
- out.println("Se debe ir a segunda ronda con los siguientes partidos:");
- out.println(ganador+", "+segLugar);
- }
- out.println("Provincia con mayor cantidad de votantes: "+provMayorNombre);
- out.println("Porcentaje de abstencionismo: "+porcAbst);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement