El primer ciclo "for" toma las respuestas, una ala vez, del arreglo(responses) e incrementa uno de los 3 contadores(frequency[1] a frequency [3]) del arreglo (frequency).La instruccion clave del ciclo es:
++frequency[responses[answare]];
Esta instruccion incrementa el contador (frequency) adecuado, dependiendo del valor de reponses[answare]. Por ejemplo, cuando el contador (answare) es 0, el valor de(responses[answares]) es 1,por lo que ++frequency[responses[answare]]; se interpreta como
++frequency[1];
lo que incrementa el elemento uno del arreglo. Cuando (answare) es 1; responses(answare) es 2, asi que ++frequency[responses[answare]]; se iterpreta como
++frequency[2];
con lo que se incrementa el elemento dos del arreglo, Cuando (answare) es 2, responses(answare)es 3, por lo tanto ++frequency[responses[answare]];se interpreta como
++frequency[6];
que incrementa el elemento tres del arreglo,etc. Observe que sin importar la cantidad de repuestas procesadas en la encuesta, solo se requiere un arreglo de 4 elementos(del que se ingnora el elemento cero) para resumir los resultados. Si en los datos hubiera valores invalidos, como 7, el programa intentaria sumar 1 a (frequency)[6]. Esto caeria fuera de los limites del arreglos.
para C++ y C# seria asi :foto + grande
Para ejemplo de como recorre el arreglo les dejo esta fotos de seguimineto del progama para que se den una idea de que sucede tras banbalinas para este caso esocogimos como lengueja C#...por su diciplina geranrquica relamente no difiere mucho de C++, pero debes notar que para C# el array es un objeto. hasta..la proxima....
foto + grande
foto + grande
No hay comentarios:
Publicar un comentario