Los arreglos son una de las estructuras de datos más básicas que podemos utilizar para implementar algoritmos y contenedores.
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Dado un arreglo de enteros y su dimensión lógica (cantidad de elementos), imprimir todos los sub-arreglos de elementos que sumen 0. Ejemplo: para {2, 4, -5, 3, 1, -3, 2, 7, -2, -7} se deben imprimir los subarreglos:
[1..5]
[1..9]
[4..6]
[6..9]
Resolución:
void imprimirSubArreglos(int arreglo[], int n) {
for (int i = 0; i < n; i++) {
int suma = 0;
for (int j = i; j < n; j++) {
suma += arreglo[j];
if (suma == 0) {
cout << "[" << i << ".." << j << "]\n";
}
}
}
}
La instrucción suma += arreglo[j]
calcula la suma parcial de los elementos.