Dev - C++ - ayuda como hago esto

 
Vista:
Imágen de perfil de tathiana
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda como hago esto

Publicado por tathiana (5 intervenciones) el 16/04/2017 00:55:42
hola tengo q hacer esto

Parámetros:

Cuatro candidatos c1, c2, c3, c4 y la opción voto en blanco (vb)
Pueden votar máximo 10 personas (el programa debe funcionar correctamente si se cambia el 10, por otro valor)
El voto no es obligatorio, preguntar después de cada voto "s continuar n salir?"
La votación termina cuando voten los 10 electores o la respuesta a la pregunta anterior sea "n"
Los votos y los candidatos deben estar almacenados en vectores
Ordenar la votación de forma descendente
Mostrar resultados en forma descendente


tengo esto
no se como imprimir eso en vectores y en orden

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
using namespace std;
 int main() {
int c1=0 , c2=0 , c3=0 , c4=0 ,voto_en_blanco =0 , votantes=0, voto , voto_nulo,i,j,vector1[5],vector2[10];
char  continuar ;
continuar='s';
while(votantes <10 && continuar == 's'){
printf("CANDIDATOS\n");
printf("c1 => 1 \n");
printf("c2 => 2 \n");
printf("c3 => 3 \n");
printf("c4 => 4 \n");
printf("voto_en_blanco => 5 \n");
 
printf("\ndigite el voto \n");
scanf ("%d",&voto);
votantes= votantes +1 ;
if (voto ==1){
c1=c1+1;
vector2[j]=vector2[j]+1;
  }
else{
if(voto ==2){
    c2=c2+1;
 
}
else{
if (voto ==3){
c3=c3+1;
;
 
     }
   else{
if (voto ==4){
c4=c4+1;
}
else{
if (voto ==5){
voto_en_blanco=voto_en_blanco+1;
}
else {
if(voto <=0 || voto >5);
    }
   }
}
                  }
            }
   printf(" \npara continuar=>s\npara terminar=>n\n ");
scanf ("%s", &continuar);
          }
 
      if (c1>c2 &&c1>c3 && c1> c4  &&c1>voto_en_blanco){
printf(" \n c1 es el ganador ");
printf("\n  votos de c1:%d",c1);
 printf ("\n  votos de c2 es= %d" ,c2);
   printf ("\n  votos de c3 es= %d" ,c3);
     printf ("\n  votos de c4 es= %d" ,c4);
       printf ("\n  votos de voto en blanco es= %d" ,voto_en_blanco);
       printf("\n  votantes totales= %d ",votantes);
      }
    else{
     if (c2>c1 &&c2>c3 && c2> c4 && c2>voto_en_blanco){
printf(" \n  c2 es el ganador ");
printf("\n  votos de c2:%d" , c2);
 printf ("\n  votos de c1 es= %d" ,c1);
   printf ("\n  votos de c3 es= %d" ,c3);
     printf ("\n  votos de c4 es= %d" ,c4);
       printf ("\n  votos voto en blanco es= %d" ,voto_en_blanco);
       printf("\n  votantes totales= %d ",votantes);
    }
    else{
     if (c3>c1 &&c3>c2 && c3> c4 && c3>voto_en_blanco){
printf("\n  c3 es el ganador ");
printf("\n  votos de c3:%d",c3);
 printf ("\n  votos de c1 es= %d" ,c1);
   printf ("\n  votos de c2 es= %d" ,c2);
    printf ("\n  votos de c4 es= %d" ,c4);
      printf ("\n  votos voto en blanco es= %d" ,voto_en_blanco);
      printf("\n  votantes totales= %d ",votantes);
    }
    else{
if
(c4>c1 && c4>c2 && c4> c3 && c4>voto_en_blanco){
printf(" \n  c4 es el ganador ");
printf("\n  votos de c4:%d",c4);
 printf ("\n  votos de c1 es= %d" ,c1);
   printf ("\n  votos de c2 es= %d" ,c2);
    printf ("\n  votos de c3 es= %d" ,c3);
      printf ("\n  votos voto en blanco es= %d" ,voto_en_blanco);
      printf("\n  votantes totales= %d ",votantes);
    }
    else {
     if (voto_en_blanco>c1 && voto_en_blanco>c2 && voto_en_blanco> c3 && voto_en_blanco>c4 ){
printf(" \n  voto_en_blanco es el ganador ");
printf("\n  votos voto en blanco:%d",voto_en_blanco);
printf ("\n  votos de c1 es= %d" ,c1);
   printf ("\n  votos de c2 es= %d" ,c2);
    printf ("\n  votos  de c3 es= %d" ,c3);
    printf ("\n  votos de c4 es= %d" ,c4);
    printf("\n  votantes totales= %d ",votantes);
    }
    else {
    if (c1==c2 || c1==c3 ||c1==c4 ||c1== voto_en_blanco ||c2==c3 ||c2==c4 || c2==voto_en_blanco ||c3==c4 ||c3== voto_en_blanco || c4==voto_en_blanco){
    printf(" \n  empate %d ");
    printf ("\n  votos de c1 es= %d" ,c1);
   printf ("\n  votos de c2 es= %d" ,c2);
    printf ("\n  votos  de c3 es= %d" ,c3);
    printf ("\n  votos de c4 es= %d" ,c4);
      printf ("\n  votos voto en blanco es = %d" ,voto_en_blanco);
      printf("\n  votantes totales= %d ",votantes);
  }
 
}
}
}
}
}
//lee el vector 
printf (" \n candidatos \n");
for(i=0;i<1;i++){
  printf("c1 \t",vector1[i]);
printf("c2\t",vector1[i]);
printf("c3\t",vector1[i]);
printf("c4\t",vector1[i]);
printf("c5\t \n\n",vector1[i]);
  }
 printf (" \n votos \n");
 vector2[0]=c1;
   vector2[1]=c2;
    vector2[2]=c3;
    vector2[3]=c4;
      vector2[4]=voto_en_blanco;
      for(i=0;i<5;i++){
      	printf (vector2[i]);
 
}
}
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
Imágen de perfil de gregory
Val: 82
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda como hago esto

Publicado por gregory (34 intervenciones) el 16/04/2017 21:59:33
Hola buen dia preciosa dime hasta ahora lo que te an dado para ver con que podemos trabajar porque esto se puede hacer de muchas manera
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 tathiana
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda como hago esto

Publicado por tathiana (5 intervenciones) el 16/04/2017 23:51:44
pues hasta ahora he visto ciclos y matrices
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
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda como hago esto

Publicado por Thanatos (199 intervenciones) el 16/04/2017 22:42:40
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>   // printf(), scanf(), getchar()
#include <ctype.h>   // tolower()
#include <string.h>  // strcpy()
 
#define MAX_CAND 5
#define MAX_CHARS 3
#define MAX_VOTOS 10
 
int main(void) {
    char candidatos[MAX_CAND][MAX_CHARS] = { "C1", "C2", "C3", "C4", "VB" };
    int votos[MAX_CAND] = { 0 };
 
    int cont = 0;
    while (cont < MAX_VOTOS) {
        // Lee los votos válidos y los almacena en el array 'votos'.
        int voto = 0;
 
        printf(
            "1. Candidato 1 \n"
            "2. Candidato 2 \n"
            "3. Candidato 3 \n"
            "4. Candidato 4 \n"
            "5. Voto Blanco \n"
            "voto = "
        );
        scanf("%d", &voto);
 
        if (voto > 0 && voto <= MAX_CAND) {
            ++votos[voto - 1];
            ++cont;
        } else {
            printf("\n* Opcion desconocida *\n");
        }
 
        // Verifica si el usuario desea continuar o terminar la votación.
        char continuar = '\0';
        if (cont < MAX_VOTOS) {
            while (continuar != 's' && continuar != 'n') {
                printf("\nContinuar(s) o Salir(n)? ");
                scanf("\n%c", &continuar);
                continuar = (char)tolower(continuar);
 
                int ch;
                while ((ch = getchar()) != '\n' && ch != EOF) { }
            }
        } else {
            continuar = 'n';
        }
 
        if (continuar == 'n') {
            break;
        }
        printf("\n");
    }
 
    // Ordenamiento descendente de los votos por inserción,
    for (int i = 1; i < MAX_CAND; i++) {
        char auxCandidato[MAX_CHARS] = { '\0' };
        strcpy(auxCandidato, candidatos[i]);
        int auxVoto = votos[i];
        int j = i - 1;
        while (j >= 0 && auxVoto < votos[j]) {
            votos[j + 1] = votos[j];
            strcpy(candidatos[j + 1], candidatos[j]);
            --j;
        }
        votos[j + 1] = auxVoto;
        strcpy(candidatos[j + 1], auxCandidato);
    }
 
    // Muestra los resultados.
    printf("\nResultados:\n");
    for (int i = MAX_CAND - 1; i >= 0; --i) {
        printf("%s = %d\n", candidatos[i], votos[i]);
    }
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar