Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/03/2016, 02:06
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Ejercicio de vectores que no me sale. Quien me da una mano? soy nuevo

Cita:
Iniciado por elignah Ver Mensaje
Estoy en duda con esto:

Cita:
bucle i=1...10
A que se refiere?
Yo interpreto que i recorre el rango de valores 1 a 10.

Cita:
Iniciado por elignah Ver Mensaje
Ahora me voy a poner a pensar. Creo, si no me equivoco, que estoy cerca de hacerlo. Paciencia por favor recien empiezo.
La paciencia la tienes que tener tu. Aprender a programar no es sencillo y la tentación de preguntar todas las dudas puede ser demasiado fuerte. Tienes que aprender a desenvolverte con estos problemas y la única forma es pegarse con ellos. Programar exige cambiar la forma de pensar y esa no es tarea facil.

Te recomiendo coger papel y lápiz para resolver los problemas de forma analítica y después plasmar tu solución en código. Eso y aprender a usar el depurador de código te va a ser de gran ayuda. El depurador de código es un grán aliado y no hay programador que se precie que no sepa usarlo... cuanto antes aprendas más provecho le vas a poder sacar.

Pero claro, para poder usar el depurador satisfactoriamente tienes que saber qué es lo que esperas que tu programa haga en todo momento... si no es así no vas a ser capaz de encontrar el momento en el que la solución del programa empieza a diverger respecto a la solución que pretendes conseguir.

Cita:
Iniciado por elignah Ver Mensaje
Como puedo hacer, para que, en vez de 0.1.2.3 (COMO ESTA EN ESE BUCLE), me aparezcan los numeros del array?
Código C:
Ver original
  1. for(k=0;k<NUM_ELEMENTOS;k++){
  2.     n=0;
  3.     for(j=0;j<NUM_ELEMENTOS-1;j++){
  4.         if (k == vector[j]){
  5.             n++;
  6.        }
  7. }

Si yo te digo que i (o k, me da igual el nombre de la variable) tiene que recorrer el rango [1,10] y tu en cambio usas el rango [0,NUM_ELEMENTOS] ya estás empezando mal. Tu programa será incapaz de decirte cuantas apariciones hay de números superiores a NUM_ELEMENTOS que, en tu caso concreto, vale 4.

Pero bueno, supongamos que arreglas ese problema. Una vez sales del bucle j se supone que ya tienes en n el número de repeticiones para un número en concreto. ¿Por qué no pones el printf ahí. Y bueno, aunque debería sobrar este comentario pero acuérdate de inicializar n después.

Como te comenté n es un entero por lo que únicamente puede almacenar un único resultado, luego es incapaz de memorizar las apariciones de TODOS los números del rango [1,10] a la vez. otra cosa es que tuvieses un n[10], en cuyo caso podrías utilizar n[0] para almacenar el número de apariciones del número 1, n[1] para el número 2 y así.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.