Foros del Web » Programación para mayores de 30 ;) » C/C++ »

hacer un while

Estas en el tema de hacer un while en el foro de C/C++ en Foros del Web. me estan pidiendo una tarea en la escuela que dice asi Determinar cuántos hombres y cuantas mujeres se encuentran en un grupo de n personas, ...
  #1 (permalink)  
Antiguo 19/03/2011, 19:25
 
Fecha de Ingreso: marzo-2011
Mensajes: 36
Antigüedad: 13 años, 1 mes
Puntos: 1
hacer un while

me estan pidiendo una tarea en la escuela que dice asi

Determinar cuántos hombres y cuantas mujeres se encuentran en un grupo de n personas, suponiendo que los datos son extraídos alumno por alumno.

no se como hacerla en C se que es mi dber hacerla pero po rfalta de tiempo no he podido realizarla y agradecria mucho su ayuda a poder avanzar la verdad es urgente s que no se debe pero laverdad estoy desesperado.

espero me puedan ayudar con el tip para hacer un while o do while
  #2 (permalink)  
Antiguo 19/03/2011, 20:50
Avatar de Stoyicker  
Fecha de Ingreso: marzo-2011
Mensajes: 9
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: hacer un while

Supongamos que el grupo de personas viene representado por un vector de enteros, que son o ceros (hombres) o unos (mujeres):

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /*Debe definirse la longitud del vector antes de declararlo*/
  5. #define n 5
  6. int main(void){
  7. int array grupo[n];
  8. int i, mujeres, hombres;
  9. srand(time(NULL));
  10. /*Éste bucle es para inicializar el vector y que puedas probarlo*/
  11. for(i=0;i<n;i++)
  12. if(rand()<RAND_MAX/2)
  13. grupo[i]=0;
  14. else
  15. grupo[i]=1;
  16. /*Debido a que la condición de actualización es siempre la misma, sería mejor
  17. implementar el chequeo con un bucle for, pero bueno me ciño a tu petición del título*/
  18. i=0;
  19. while(i<n){
  20. if(grupo[i]==0)
  21. hombres++;
  22. else
  23. mujeres++
  24. i++;
  25. }
  26. /*Sentencias para que compruebes*/
  27. printf("Grupo: %s\n", grupo);
  28. printf("Hombres contados: %d\n", hombres);
  29. printf("Mujeres contadas: %d\n", mujeres);
  30. return EXIT_SUCCESS;
  31. }

Última edición por Stoyicker; 19/03/2011 a las 20:56
  #3 (permalink)  
Antiguo 20/03/2011, 13:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 36
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: hacer un while

Cita:
Iniciado por Stoyicker Ver Mensaje
Supongamos que el grupo de personas viene representado por un vector de enteros, que son o ceros (hombres) o unos (mujeres):

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /*Debe definirse la longitud del vector antes de declararlo*/
  5. #define n 5
  6. int main(void){
  7. int array grupo[n];
  8. int i, mujeres, hombres;
  9. srand(time(NULL));
  10. /*Éste bucle es para inicializar el vector y que puedas probarlo*/
  11. for(i=0;i<n;i++)
  12. if(rand()<RAND_MAX/2)
  13. grupo[i]=0;
  14. else
  15. grupo[i]=1;
  16. /*Debido a que la condición de actualización es siempre la misma, sería mejor
  17. implementar el chequeo con un bucle for, pero bueno me ciño a tu petición del título*/
  18. i=0;
  19. while(i<n){
  20. if(grupo[i]==0)
  21. hombres++;
  22. else
  23. mujeres++
  24. i++;
  25. }
  26. /*Sentencias para que compruebes*/
  27. printf("Grupo: %s\n", grupo);
  28. printf("Hombres contados: %d\n", hombres);
  29. printf("Mujeres contadas: %d\n", mujeres);
  30. return EXIT_SUCCESS;
  31. }
me marco este error

In function 'main':|
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'grupo'|
error: 'grupo' undeclared (first use in this function)|
error: (Each undeclared identifier is reported only once|
error: for each function it appears in.)|
error: expected ';' before 'i'|
||=== Build finished: 5 errors, 0 warnings ===|
  #4 (permalink)  
Antiguo 20/03/2011, 13:58
Avatar de Stoyicker  
Fecha de Ingreso: marzo-2011
Mensajes: 9
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: hacer un while

Si bueno es que me he equivocado, en la declaración del vector grupo, quita lo de array, se me ha escapado.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /*Debe definirse la longitud del vector antes de declararlo*/
  5. #define n 5
  6. int main(void){
  7. int grupo[n];
  8. int i, mujeres, hombres;
  9. srand(time(NULL));
  10. /*Éste bucle es para inicializar el vector y que puedas probarlo*/
  11. for(i=0;i<n;i++)
  12. if(rand()<RAND_MAX/2)
  13. grupo[i]=0;
  14. else
  15. grupo[i]=1;
  16. /*Debido a que la condición de actualización es siempre la misma, sería mejor
  17. implementar el chequeo con un bucle for, pero bueno me ciño a tu petición del título*/
  18. i=0;
  19. while(i<n){
  20. if(grupo[i]==0)
  21. hombres++;
  22. else
  23. mujeres++
  24. i++;
  25. }
  26. /*Sentencias para que compruebes*/
  27. printf("Grupo: %s\n", grupo);
  28. printf("Hombres contados: %d\n", hombres);
  29. printf("Mujeres contadas: %d\n", mujeres);
  30. return EXIT_SUCCESS;
  31. }
  #5 (permalink)  
Antiguo 20/03/2011, 14:04
 
Fecha de Ingreso: marzo-2011
Mensajes: 36
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: hacer un while

Cita:
Iniciado por Stoyicker Ver Mensaje
Si bueno es que me he equivocado, en la declaración del vector grupo, quita lo de array, se me ha escapado.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /*Debe definirse la longitud del vector antes de declararlo*/
  5. #define n 5
  6. int main(void){
  7. int grupo[n];
  8. int i, mujeres, hombres;
  9. srand(time(NULL));
  10. /*Éste bucle es para inicializar el vector y que puedas probarlo*/
  11. for(i=0;i<n;i++)
  12. if(rand()<RAND_MAX/2)
  13. grupo[i]=0;
  14. else
  15. grupo[i]=1;
  16. /*Debido a que la condición de actualización es siempre la misma, sería mejor
  17. implementar el chequeo con un bucle for, pero bueno me ciño a tu petición del título*/
  18. i=0;
  19. while(i<n){
  20. if(grupo[i]==0)
  21. hombres++;
  22. else
  23. mujeres++
  24. i++;
  25. }
  26. /*Sentencias para que compruebes*/
  27. printf("Grupo: %s\n", grupo);
  28. printf("Hombres contados: %d\n", hombres);
  29. printf("Mujeres contadas: %d\n", mujeres);
  30. return EXIT_SUCCESS;
  31. }
Ok ya lo quite pero no mantiene la consola se desaparece al finalizar

Última edición por josemanuel31675; 20/03/2011 a las 14:06 Razón: falto una linea
  #6 (permalink)  
Antiguo 20/03/2011, 14:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 36
Antigüedad: 13 años, 1 mes
Puntos: 1
De acuerdo Respuesta: hacer un while

Cita:
Iniciado por josemanuel31675 Ver Mensaje
Ok ya lo quite pero no mantiene la consola se desaparece al finalizar
disculpa las molestias ya lo resolvi muchs gracias por la ayuda.

saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:20.