Matlab - Programacion con ciclos! Ayuda por favor!!!

   
Vista:

Programacion con ciclos! Ayuda por favor!!!

Publicado por Olga Perez (2 intervenciones) el 27/06/2014 04:11:44
Leer los votos de 10 personas. Cada voto es un numero 1, 2, o 3 correspondiente a tres candidatos. Si el dato es diferente a estos es un voto nulo. Determine el total de cada candidato y señale quien es el ganador.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Programacion con ciclos! Ayuda por favor!!!

Publicado por ALFREDO RODRIGUEZ PACHECO (1 intervención) el 27/06/2014 04:37:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int c1=0, c2=0, c3=0,nulos=0;    // candidatos
int voto;
for (i=1;  i <=10; i++)
{
  cout<<"dame el candidato ";
  cin>>voto;
  switch (voto) {
      case 1
           c1++; break;:
      case 2:
           c2++; break;
     case 3:
          c3++; break;
    default:
          nulos++;
   }
   cout<<"total candidato 1 "<<c1;
   cout<<"total candidato 2 "<<c2;
   cout<<"total candidato 3 "<<c3;
   cout<<"total nulos"<<nulos;
   if (c1 > c2 && c1>c3)
        cout<<"candidato 1 es ganador";
   if (c2 > c1  && c2>c3)
        cout<<"candidato 2 es ganador";
   if (c3 > c1 && c3>c2)
        cout<<"candidato 3 es ganador";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge De Los Santos

Programacion con ciclos! Ayuda por favor!!!

Publicado por Jorge De Los Santos (212 intervenciones) el 01/07/2014 05:08:33
Hola Olga.

Alfredo os ha dado correctamente el algoritmo que habrá de seguirse, el lo ha hecho utilizando C++, ahora, "llevando" esto a MATLAB podría implementarse como sigue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
clear all;clc
nvotos=0;
C=zeros(1,3);
nulos=0;
while nvotos < 10
    voto=input('Seleccione un candidato: ');
    switch voto
        case 1,C(1)=C(1)+1;
        case 2,C(2)=C(2)+1;
        case 3,C(3)=C(3)+1;
        otherwise,nulos=nulos+1;
    end
    nvotos=nvotos+1;
end
fprintf('\n**** Conteo de votos ****\n');
fprintf('\nCandidato 1: %g votos',C(1));
fprintf('\nCandidato 2: %g votos',C(2));
fprintf('\nCandidato 3: %g votos',C(3));
fprintf('\nVotos nulos: %g votos',nulos);
[G,I]=max(C);
fprintf('\n\nEl candidato ganador es el %g con %g votos\n',I,G);


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar