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

Problema en C

Estas en el tema de Problema en C en el foro de C/C++ en Foros del Web. Hola a todos. Estoy intentando realizar lo siguiente: Escribe un programa que lea diez enteros comprendidos entre 1 y 10, los almacene en un vector ...
  #1 (permalink)  
Antiguo 19/07/2016, 14:29
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 9 meses
Puntos: 0
Problema en C

Hola a todos.
Estoy intentando realizar lo siguiente:

Escribe un programa que lea diez enteros comprendidos entre 1 y 10, los almacene en un vector y escriba por pantalla la cantidad de elementos de cada número que contiene.

Ejemplo: Dado el siguiente vector [2, 2, 2, 3, 3, 4, 4, 4, 7, 7]

La salida producida sería:
Existen 3 elementos del número 2
Existen 2 elementos del número 3
Existen 3 elementos del número 4
Existen 2 elementos del número 7


---------------------------------------

Bien, yo tengo hecho lo siguiente:

Código C:
Ver original
  1. #include <time.h>
  2.  
  3. //Modulos
  4. void genVector(int *vec);
  5.  
  6. //Funcion principal
  7. int main(){
  8.    
  9.     //declaracion de variables
  10.     int vec[10];
  11.     genVector(vec);
  12.     int i;
  13.    
  14.     //Pintamos en pantalla el siguiente string
  15.     printf("Los numeros que contiene el vector son:\n");
  16.    
  17.     //Bucle para mostrar el valor de cada unidad del vector
  18.     for(i == 0; i < 10; i++){
  19.         printf("%i, ",vec[i]); 
  20.     }
  21.    
  22.     int vecAux[10] = {0,0,0,0,0,0,0,0,0,0};
  23.     //Bucle para mostrar la cantidad de cada uno de los valores del vector
  24.     for(i == 0; i < 10; i++){
  25.        
  26.         int num = vec[i];
  27.        
  28.        
  29.         vecAux[num - 1] += 1;  
  30.        
  31.     }
  32.    
  33.     //Bucle para mostrar la cantidad de cada uno de los valores del vector
  34.     for(i == 0; i < 10; i++){
  35.        
  36.             printf("Existen %i elementos del número %i, ", vec[i], i + 1);     
  37.        
  38.        
  39.     }
  40.    
  41.    
  42. }
  43.  
  44.  
  45. void genVector(int *vec){
  46.    
  47.     /* Inicializamos un generador de numeros aleatorios */
  48.    srand(time(NULL));
  49.    int i;
  50.    
  51.     for(i == 0; i < 10; i++){
  52.        
  53.         vec[i] = rand() % 10;  
  54.     }  
  55.        
  56. }


Pero en la salida solo me sale esto.

Código:
Los numeros que contiene el vector son:
1, 0, 4203881, 0, 3, 0, 48, 0, 0, 0,
--------------------------------
Process exited after 0.02066 seconds with return value 3
Presione una tecla para continuar . . .

Es decir, no me saca los 10 numeros con valores comprendidos entre 1 y 10.
Que esta sucediendo??
  #2 (permalink)  
Antiguo 19/07/2016, 14:38
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Problema en C

Para empezar, en los bucles estás poniendo

for (i == 0; ...... )

Eso es una comparación, no una asignación. Debes poner

for (i = 0; ...... )

Corrige eso en primer lugar.

Saludos,
  #3 (permalink)  
Antiguo 19/07/2016, 14:49
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema en C

Ahi estaba el problema...muchas gracias
+1

Etiquetas: int, programa
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 11:44.