Guest User

Untitled

a guest
Feb 23rd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. /*Después de las elecciones primarias en USA por el partido democrata, los cuales tienen 3 candidatos:
  2. (B) Bernie Sanders
  3. (H) Hillary Clinton
  4. (M) Martin O'Malley
  5. Se almacenaron los N votos en un arreglo de caracteres (B, H, M) y se ordenaron en forma ascendente, se quiere saber quien ganó la contienda, se sabe que todos tienen mas de 1 voto.
  6. Entrada:
  7. N - Cantidad de votos
  8. los N caracteres representando sus votos.
  9. Salida:
  10. Cantidad de votos de cada uno de los contendientes
  11. Ejemplo de Entrada:
  12. 8
  13. BBHHHHHM
  14. Ejemplo de Salida:
  15. B - 2
  16. H - 5
  17. M - 1
  18. */
  19. //Luis Marcelo Flores Canales A01280943
  20. #include <iostream>
  21.  
  22. using namespace std;
  23.  
  24. int buscarPrincipio(char Arr[],int iInicio,int iFin)
  25. {
  26. int mitad=(iFin-iInicio)/2;
  27. if(iInicio>=mitad)
  28. return mitad;
  29. if(Arr[mitad]<'H')
  30. buscarPrincipio(Arr,iInicio,mitad-1);
  31. else
  32. buscarPrincipio(Arr,mitad-1,iFin);
  33. }
  34. int buscarFinal(char Arr[],int iInicio,int iFin)
  35. {
  36. int mitad=(iFin+iInicio)/2;
  37. if(iInicio>=mitad)
  38. return mitad;
  39. if(Arr[mitad]>'H')
  40. buscarPrincipio(Arr,iInicio,mitad+1);
  41. else
  42. buscarPrincipio(Arr,mitad+1,iFin);
  43. }
  44.  
  45. int main()
  46. {
  47. int iCantVotos,iPrin=0,iFin=0,iB=0,iH=0,iM=0;
  48. cout<<"Candidatos en las elecciones:"<<endl;
  49. cout<<"(B) Bernie Sanders"<<endl;
  50. cout<<"(H) Hillary Clinton"<<endl;
  51. cout<<"(M) Martin O'Malley"<<endl;
  52. cout << "Ingresa la cantidad de votos: " << endl;
  53. cin>>iCantVotos;
  54. char cArrVotos[iCantVotos];
  55.  
  56. for(int iC=0;iC<iCantVotos;iC++)
  57. cin>>cArrVotos[iC];
  58.  
  59. iPrin=buscarPrincipio(cArrVotos,0,iCantVotos);
  60. iFin=buscarFinal(cArrVotos,0,iCantVotos);
  61.  
  62. cout<<iPrin<<" "<<iFin<<endl;
  63.  
  64. /*for(int iC=0;iC<iCantVotos;iC++)
  65. {
  66. if(cArrVotos[iC]=='B')
  67. iB++;
  68. if(cArrVotos[iC]=='H')
  69. iH++;
  70. if(cArrVotos[iC]=='M')
  71. iM++;
  72. }*/
  73.  
  74. cout<< "B-"<<iB<<endl;
  75. cout<< "H-"<<iH<<endl;
  76. cout<< "M-"<<iM<<endl;
  77.  
  78. return 0;
  79. }
Add Comment
Please, Sign In to add comment