akodo escribió:hmmm... me falta el toque ingenieril...
¿Por qué no utilizar un tipo de datos "matriz"? Utilizar un doble puntero puede dar errores si los datos no son correctos (puede haber una fila con datos de más o menos).
Así lo podrías juntar con los otros programas que has hecho para trabajar con matrices: creas una clase matriz, la lees de donde sea, la procesas (para este caso compruebas independencia lineal con el determinante de la matriz, además de realizar la operación), devuelves el resultado, y lo imprimes convenientemente.
Además puedes añadir funciones como "readFrom" o "writeTo" (además de los cálculos oportunos) para trabajar con matrices.
En cuanto al programa en sí, obligar a leer y escribir los datos de un sitio concreto no me convence. Vale que puedas leer y escribir en un sitio por defecto, pero es recomendable dejar libertad de elección al usuario.
A ver si el próximo código lo veo mejor
PD: No digo que el código esté mal ni que no funcione. Tan sólo planteo mejoras.
Este código funciona muy bien. La teoría de ejecución está basada en el libro de Chapra y Canale "Metodos numéricos para Ingenieros" pero la implementación es mia porque allí, en el mejor de los casos, sólo hay pseudo código. Si mal no recuerdo, fue uno de mis primeros programas para entrenarme en C++. Tuve que hacerlo de manera autodidacta y desde cero (sólo programaba en BASIC) porque el que contratamos sólo quería trabajar con ACCESS

. Con relación a los de los punteros dobles esa es la manera como lo implementaba un físico del cual adapté esa forma de programar en C++. Todavía no me ha dado errores.
Con respecto a lo de leer desde un sitio en concreto yo lo implemente de esa manera pero se puede hacer de forma diferente. Esta es una propuesta que puede ser cambiada a gusto del usuario. No me gusta ingresar los datos por pantalla; sobre todo si tienes la matriz "escrita" en tu memoria.
Con relación a la clase Matriz yo la implemente en un foro y la BORRARON en el mantenimiento (no sólo lo mio sino todos los posts: más nunca escribí nada allí). La intención es implementarla también aquí pero, por problemas personales, he estado alejado como 2 años de esto y tengo que volver a familiarizarme. Con esa clase Matriz recuerdo que tenía definidas varias funciones amigas y sobrecarga de operadores y en los programas principales, muy cortos por cierto, sólo bastaba definir los objetos y operar con ellos de una manera tan natural como cuando se hace con los tipos int o double.
Saludos
Editado -- Jue Jul 08, 2010 9:08 am --
hipersayan_x escribió:Lo que mas me gusta es que tu mismo planteas el algoritmo en lugar de usar una librería externa, y eso significa que realmente entiendes lo que estas haciendo

Tenía que hacerlo. Con este entrenamiento me tomó luego 1 mes para desarrollar un modelo de generación de datos sintéticos de temperaturas máximas, temperaturas mínimas y radiación solar empleando métodos multivariados.
Saludos
Editado -- Jue Jul 08, 2010 9:16 am --
hipersayan_x escribió:VTacius escribió:Lo probaré mañana: me gusta porque como era de esperarse, dejaste fuera a la librería conio.
Me gustaría haber sabido hace un mes que era totalmente posible
Hay que tener cuidado con la librería conio porque no es una librería standard y por lo tanto no es portable, hasta donde yo se conio solo esta disponible para los compiladores de Borland que además son privativos.
cerenkov solo uso las librerías standard de C++, y eso le da un plus porque el programa funciona con cualquier compilador y sistema operativo, sin cambiar nada.
Efectivamente. Sólo uso librerías estándares. Los códigos que hasta ahora he propuesto funcionan también en Windows posiblemente agregando antes del return sólo la instrucción:
Este es un "truco" que tomé del foro de el
Hacker.net porque antes usaba
system ("pause") pero allí recomiendan no usarlo en un tema que se intitula algo así como "Las 10 cosas que no se deberían hacer en C++" y, si mal no recuerdo, otra de ellas es NO usar librerías no estándares.
Saludos
Editado -- Vie Jul 09, 2010 12:30 pm --
Adjunto una versión que si verifica independencia lineal. Para una clase Matriz habría que arreglar algunos detalles: me di cuenta una vez que estaba hecha esta versión pero aún así funciona tal como está.
Saludos