| |
|
291
|
Programación / Programación C/C++ / Re: Crear matriz partiendo de un vector ingresado
|
en: 5 Octubre 2016, 20:56 pm
|
|
personalmente no entiendo eso de Bucle j desde i - 1 hasta 0, pero finalmente di con el problema, era que tenia que inicializar el valor de columna con el de la fila para realizar la sumatoria en cada fila y luego añadirla como un espejo en las columnas.
Dejo el código editado arriba
|
|
|
|
|
292
|
Programación / Programación C/C++ / Re: Crear matriz partiendo de un vector ingresado
|
en: 5 Octubre 2016, 18:42 pm
|
Pues si que es un problema interesante, y me esta dando un verdadero dolor de cabeza hacerlo, lo que no entiendo es si eres nuevo en programación porque te complicas tanto con funciones, hazlo todo de una vez en el main, no es un código muy largo, o al menos, hasta que tengas el algoritmo resuelvas la matriz. algo así es suficiente, sigo echandole cabeza al algoritmo porque simplemente es mucho más complicado de lo que parece, alguien más se suma?? #include <iostream> using namespace std; int main() { int numero = 7; // número máximo para el control del ciclo int elementosMatriz[numero] = {7, 6, 5, 4, 3, 2, 1}; // números base de la matriz int matrizAutomatica[numero][numero]; // matriz de forma filas X columnas // Imprimiendo los números base for(int i=0; i<numero; i++) { cout << elementosMatriz[i] << " - "; } cout << endl << endl; // realizando el cálculo de los números for(int fila=0; fila<numero; fila++){ for(int columna=fila; columna<numero; columna++) // toma el valor de cada fila para realizar cada sumatoria { if(fila == columna) // si son iguales fila y columna asigna el valor de la Base (diagonal) { matrizAutomatica[fila][columna] = elementosMatriz[fila]; } else { int Sumatoria = matrizAutomatica[fila][columna-1] + elementosMatriz[columna]; // variable temporal de sumatoria // asignado en forma de espejo, de forma simetrica matrizAutomatica[fila][columna] = Sumatoria; // asignando en cada columna de la fila de la matriz matrizAutomatica[columna][fila] = Sumatoria; // asignando en cada fila de la columna de la matriz } } } //Imprimiendo la matriz for(int fila=0; fila<numero; fila++){ for(int columna=0; columna<numero; columna++) { cout << matrizAutomatica[fila][columna] << " - "; } cout << endl; } return 0; }
Slds
|
|
|
|
|
293
|
Programación / Programación C/C++ / Re: Problema ejercicio básico. Lenguaje C.
|
en: 5 Octubre 2016, 16:03 pm
|
No funcionaba porque o tienes que inicializar una cantidad de variables igual a la cantidad de datos que ingresas, o creas una colección de posiciones en las cuales guardaras esos valores, de igual manera, con una cantidad de posiciones igual a los valores que necesitas guardar. Para ello, se puede usar arreglos, vectores, punteros...aquí un ejemplo sencillo con arreglos, como estoy usando esa basura de dev c++, tengo que usar el estandar c11, pero igual sirve. #include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { int edad[4]; // Arreglo de cuatro posiciones --> Edad [ valorEdad1, valorEdad2, valorEdad3, valorEdad4 ] int edadEscaneada; // variable temporal para grabar las edades, luego comprobar si esta en el rango int contador=0; printf ("Ingrese la edad de 4 personas:\n"); printf ("Digite solo edades entre 18 y 45 años:\n"); int i; for (i=0;i<4;i++) { scanf ("%d", &edadEscaneada ); if (edadEscaneada>=18 && edadEscaneada<=45) { edad[i] = edadEscaneada; contador++; } } printf ("La cantidad de personas comprendidas en el rango pedido es de: %d \n\n", contador ); for (i=0;i<4;i++) { if (edad[i] >=18 && edad[i] <=45) { printf ("Edad %d:\n", edad [i ]); } } return 0; }
|
|
|
|
|
295
|
Foros Generales / Foro Libre / Re: El Misterio de las Islas Perdidas con Dave Salmoni HD - 4 - La isla del diablo
|
en: 4 Octubre 2016, 23:31 pm
|
Visto enterito  se me hizo hasta corto la verdad... por desgracia estamos muy distanciados de la naturaleza (no todos). La inteligencia de la naturaleza y de nuestro cuerpo  Y su terrible y tremenda brutalidad de comer o ser comido, siempre voy a tener en mente cuando vi a ese babuino comiendose vivo a una gacela empezando desde atrás, literalmente podia sentise el dolor de ese animal siendo triturado desde las pelotas y no poder morir hasta el ultimo bocado.
|
|
|
|
|
297
|
Sistemas Operativos / Windows / Re: Dual-boot dejó de funcionar, directamente arranca windows.
|
en: 4 Octubre 2016, 16:01 pm
|
hiciste algún proceso de recuperación de windows, o una actualización grande de windows?? a veces puede que se sobreescriba el cluster de almacenamiento donde se almacena el arranque del sistema operativo, sobreescribiendo el sector del disco donde estaba instalado el grub para elegir el multi-boot. Lo que debes hacer es reinstalarlo. Usa Super Grub Disk, si tu particion linux no ha sufrido cambios podras entrar a tu sesión con este programa y podrias reinstalar y actualizar tu GRUB sin mayor inconveniente. http://www.supergrubdisk.org/super-grub2-disk/Es facil de usar, solo bajas la iso, lo quemas en un cd, reinicias el pc y buscas la opción para iniciar tu Distribución linux, el cual detectara automaticamente en que parte del disco se encuentra instalada y realizara un proceso de inicio de sesión como si accedieras directamente desde el grub, con la ventaja de no alterar absolutamente nada permanentemente si realizas los pasos correctos, busca una guia rapida de uso si no entiendes la wiki del portal, no se si tenga en español, pero abundan los howtos de este programa.
|
|
|
|
|
298
|
Programación / Programación C/C++ / Re: Arreglo de cadenas con memoria dinámica (realloc) lenguaje C.
|
en: 4 Octubre 2016, 15:55 pm
|
 no puedo parar de reir con ese gif, siempre que lo veo me quedo mirandolo como un idiota contento. dato000 gracias por ocuparte del tema anterior. - Saludos
Yo que hice??? en fin, slds Creo que ya todo esta dicho, punteros no es mi fuerte, pero lo que tengo que añadir del codigo de MAFUS es que no es estandar esa asignación scanf("%m") y que puede variar su resultado dependiendo del compilador, pues he visto casos en los que al recibir caracter espacio o salto de linea obtiene un desbordamiento y almacena basura en un espacio de memoria aleatorio después de la primera palabra de una serie de caracteres, pues scanf se supone que es más para memoria estatica. Aunque supongo que con la extensión del estandar y las librerias apropiadas junto con un compilador actualizado ese problema seria resuelto y se usaria como un realloc verdadero.
|
|
|
|
|
299
|
Programación / Programación C/C++ / Re: Ejecutar un programa dentro de otro.
|
en: 4 Octubre 2016, 15:20 pm
|
Tecnicamente no es posible de la forma que quieres, las dos maneras más comodas, una más sencilla que otra serían: 1) Create un batch (windows archivo .bat o un ejecutable) o un bash (linux con shell o perl o un make) en donde se inicialicen las dos tareas que necesitas. 2) Usar hilos en las cuales esten las dos funciones dentro de uno y puedas ejecutar las tareas a modo asincrono (no estoy seguro si con los threads son async, pero es similar). En todo caso, necesitas entender que son instancias diferentes y cada una necesita ser compilada, por lo que el llamado de ese código debe realizarse de forma nativa por ejecución externa de plataforma, es decir, llamarlas como tal desde el sistema operativo, como cuando abres dos programas word o excel, o ejecutas dos tareas desde dos simbolos de sistemas diferentes, por mencionar unos ejemplos. Creeria que deberias echarle un vistazo a estas respuestas, simples, cortas y muy claras: http://stackoverflow.com/questions/33818373/run-two-programs-at-the-same-time-c-chttp://stackoverflow.com/questions/3051009/c-run-two-functions-at-the-same-timehttp://stackoverflow.com/questions/9521114/running-multiple-c-programs-from-a-c-program-under-linux
|
|
|
|
|
300
|
Programación / Programación C/C++ / Re: Problema con el metodo BubbleSort
|
en: 4 Octubre 2016, 00:40 am
|
Hasta los momento me hace todas las operaciones que exijo correctamente el programa, en windows, yo paso la variable string como un arreglo string nombres[almacen] y le indico que almacen se incremente almacen++ para que aumente la longitud del vector y por ende me almacene todos los nombres.
El compilador es Dev C++ 5.11
Si en efecto, era tema del compilador, voy a tener que actualizar el IDE en linux  Que tal ha ido la cosa, sigues con el problema??
|
|
|
|
|
|
| |
|