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

 
Vista:
sin imagen de perfil

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
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Programacion con ciclos! Ayuda por favor!!!

Publicado por Jorge De Los Santos (213 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