¿Cómo se pueden usar los bucles para procesar matrices?

Disculpas si voy demasiado básico con esto.

Las matrices son estructuras de datos que almacenan una colección de valores. Están organizados como una secuencia de espacios de almacenamiento vacíos, como un cartón de huevos que puede almacenar 12 huevos, o una oficina de correos contiene 1000 buzones. Las matrices son estructuras de datos útiles: puede acceder directamente a cualquier valor de la matriz si conoce el índice de la ubicación donde está almacenado (para enviar una postal a su amigo, necesita saber qué ranura de correo es la suya). Las matrices tienen longitud ; las ubicaciones de almacenamiento primera y última se indexan ‘0’ y ‘longitud-1’ respectivamente.

Para un conjunto de puntajes , lo escribimos scores[3] = 42; y léelo int big = scores[1];

Los bucles son una forma de controlar el flujo de ejecución en su programa. Del mismo modo que las declaraciones IF..ELSE .. crean una bifurcación en el camino (tome una ruta u otra), de manera similar, los LOOP indican un conjunto de instrucciones para repetir (maneje alrededor de este bloque cuatro veces). Aunque el código es idéntico cada vez a través de un bucle, las variables pueden cambiar los valores a medida que avanza.

Los principales tipos de bucles son FOR y WHILE. A continuación se muestra un ciclo WHILE básico en C ++:

int num = 10;
while (num> 0) {
cout << num << ",";
num = num – 1;
}
cout << "Blastoff! \ n";

En nuestro bucle WHILE, num dicta lo que se muestra en cada bucle y cuándo salimos. Tenga en cuenta que num cuenta hacia atrás (no hacia arriba). Podemos tener variables contadas por 10 o -5 o cualquiera.

Al unirlos , use un bucle para procesar una matriz. Necesitamos operar en cada elemento de la matriz, así que use la longitud de la matriz como la cantidad de veces que se repite su ciclo. Para hacer referencia a cada elemento de la matriz dentro de un bucle, necesitamos una variable para representar el índice de la matriz . Incluso podemos combinar el número de bucles y el índice de matriz .

// ‘puntuaciones’ es una matriz de 10 enteros. Nuestro objetivo: mostrar cada valor
int index = 0;
while (índice <10)
cout << puntajes [índice] << ",";
index ++;
}
cout << "y esa es la última puntuación! \ n";

Espero que esto ayude –

Tengo una versión diferente de respuesta a esto.

El estilo de programación “funcional” ahora está muy extendido, ya sea en JavaScript, C # o incluso en Java 8.

Entonces, la idea es evitar el uso de bucles para procesar matrices.

Busque técnicas de mapa y reducción junto con contenedores genéricos. Por ejemplo, en JavaScript, usaría algo como lodash o guión bajo para lograr esto.

Si bien es un ejemplo inútil, supongamos que tiene una matriz de todo tipo de números, y desea agregar 1 a cada uno y luego dividir el resultado por 2.

var results = _.map (array, function (item) {return item + 1;}). map (function (item) {return item / 2;}

Compare tener que hacer eso con dos para bucles. Se necesitarían muchas menos líneas de código y, en la mayoría de las bibliotecas funcionales, los resultados no se calculan hasta que desee utilizarlos. Entonces, por ejemplo, si desea extraer solo los primeros 5 valores, solo calculará los primeros 5 valores, incluso si tiene una matriz de miles de valores, y eso sería “libre” sin su codificación. Intenta eso con un bucle ordinario.

El punto aquí es que ahora tiene una buena base de herramientas para hacer cosas mucho más simples y más eficientes en la mayoría de los entornos de lenguaje utilizados comercialmente. Escribir bucles está empezando a convertirse en cosas del pasado.

More Interesting

¿Existe un algoritmo rápido que, dada una cuadrícula de números, encuentre todas las rutas posibles que sumen a un número dado?

¿Cuál es el mejor algoritmo de clasificación para alfabetizar físicamente mi colección de libros?

¿Por qué el método de ordenación Javascript organiza los números de una matriz en orden ascendente con [código] (a - b) [/ código] y descendente con [código] (b - a) [/ código]?

¿Qué plataforma / herramienta / idioma debería ser bueno para la minería de texto?

¿Cuáles son algunas habilidades de programación, algoritmos o marcos que se ven muy bien pero que son muy simples?

¿Cuál es un ejemplo de un algoritmo de filtro en la selección de funciones en el aprendizaje automático?

¿Cómo encuentras la distancia entre dos lugares, sin usar los mapas de Google?

En programación de computadoras, ¿cómo es recursivo el proceso de evaluación?

¿Por qué se utiliza la ordenación del montón?

¿Debería alguien que se aplica a un campo de arranque de desarrollo ya saber cómo escribir una función para sumar una matriz multidimensional?

¿Qué es el hashing perfecto?

¿Qué tan útil es el conocimiento de los algoritmos informáticos tradicionales para escribir códigos CFD?

¿Qué tan complejos son los algoritmos que usan los sitios web de citas como eHarmony para unir a las personas?

¿Existe un algoritmo informático para detectar 'noticias falsas'?

¿Debo aprender C ++ ahora que sé cómo implementar algoritmos básicos de ML en Python, o debería seguir con scikit-learn?