Arreglo [0]
Nota: El código se puede compilar y ver su salida en linea usando uno de los links en http://aluismarte.blogspot.com/p/herramientas-en-linea.html
Como programadores siempre haremos uso de los arreglos para manejar datos, pero que pasa cuando rompemos la lógica y buscamos crear algo con dimensiones cero?.
Pues verá que los compiladores de C, C++, Python y Java permiten la creación de arreglos declarados en 0, así como su manipulación pero en C# esto solo permite su creación, pero no da la posibilidad de entrar 1 datos sin que de error de indice. La manipulación de este arreglo es curiosa y varía según el lenguaje al igual que su comportamiento.
Por ejemplo en C++ la salida de este arreglo singular da números que no son siquiera cercanos a los insertados en el mismo. Estos números sin sentido que nos ofrece la salida del programa podríamos buscarle algo de lógica si nos hacemos la idea de que eso sería acceso a ram del programa. Aunque esto no lo he podido probar, pero es una posibilidad existente que intentaré probar más adelante.
#include <iostream>
using namespace std;
int main() {
int arr[0];
int i,j, p;
cout << "Inserte el numero de datos a introducir en el arreglo" << endl;
cin >> p;
//Introducimos algunos datos en nuestro arreglo.
for(i = 0 ; i < p ; i++) {
arr[i] = i + 10;
}
cout << "Imprimimos a ver que sale" << endl;
//Imprimimos nuestros valores guardados.
for(j = 0 ; j < p ; j++) {
cout << arr[j] << endl;
}
return 0;
}
Después de correr este curioso programa, podría interesarle ver como se comportan estos en otros lenguajes y con el fin de facilitar la prueba podrán descargar los códigos para sus respectivos lenguajes a probar.
Links de descarga del código.
Lenguaje C
http://adf.ly/FL2Bh
Lenguaje C++
http://adf.ly/FL2Hp
Lenguaje C#
http://adf.ly/FL2J5
Lenguaje Python
http://adf.ly/FL2Mg
Lenguaje Java
http://adf.ly/FL2Ka
No hay comentarios.:
Publicar un comentario