(...)



Archivado por última vez {{ '2022-02-22T12:45:26.886Z' | moment 'DD/MM/YY HH:mm'}} (Hora Local).
Descargar archivos ({{ 6 }})

163901946293.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 51.07KB, 736x414, ec1c2ae1582e800a2299d5d77e0ab0f4.jpg )
96917

/#/ 96917
{{{"Hola, negros. Quiero darle un uso a C++ y para soltarme decidí hacer proyectos pequeños. Me gustaría que me den ideas y que me expliquen un poco la parte de crear la GUI, ya que ninguno te dice nada sobre eso cuando aprendes C++. Deseo alternativas. QtCreator parece fallar de forma severa en mi PC y agradecería una sugerencia de frameworks sencillos para GUI (simples en que sean pequeños, no exactamente en que sean fáciles, pero por lo menos que no causen conflictos por no instalarse de forma normal)." | renderPostMessage 96917}}}

>>

/#/ 96918
{{{"El detalle con C++ para GUI es que esa parte no necesita exprimir el máximo rendimiento en el 99% del código, es solo mandar configuraciones a la librería por eso las GUI en C++ son para pruebas o que su mayoría se escriban en otro lenguaje y toda parte de alto rendimiento en C++ y luego enlazar eso al otro lenguaje, por eso se espera que seas bastante mejor programador cuando uses GUI en C++, solo QT es lo mas simple en C++ que se vea bien, esta JUCE que es mas un framework para procesamiento de video pero tiene todo un sistema de GUI, otros son mini GUI que tiene visuales muy básicos, otro es binding de GTK para C++, aunque de lo mejor seria usar WinUI si usas windows, con todo y soporte para Visual studio en C++, en realidad MS quiere que uses C#.\n\nDe proyectos en C++ es por lo general acelerar X cosa, métodos numéricos, computación grafica, es prácticamente cualquier cosa." | renderPostMessage 96918}}}

>>

/#/ 96997
{{{">>96918\n¿y cómo llamo una interfaz de qt en C++? logré que ande luego de sucesivas instalaciones y desinstalaciones, así que parece que al final voy a usar qt." | renderPostMessage 96997}}}

>>

/#/ 96998
{{{">>96997\nTienes que usar el IDE de QT o usar qmake, QT crea modificaciones al C++ para funcionar por lo que necesitas usar sus herramientas especiales.\nLas GUI en C++ son un dolor de cabeza, y Qt es de las mejores." | renderPostMessage 96998}}}

>>

/#/ 97006
{{{">>96917 (OP)\nTe recomiendo no pierdas tu tiempo haciendo GUI en C++.\nen QT o GTK inserta un webview, haz todas las interfaces en HTML5 y todo tu backend o lógica pesada en C++ de tal manera que cuando el usuario dispare un evento Javascript mande a llamar la pieza hecha en C++. \nLa ventaja de todo esto, es que HTML5 te permite hacer interfaces ricas. \nCuando vayas a distribuir tu programa, todos los assets los pudes compilar dentro del código usando xxd que es una herramienta que te convierte cualquier cosa a un header binario." | renderPostMessage 97006}}}

>>

/#/ 97008
{{{">>96917 (OP)\nUsa Qt, crear GUI's en C++ es lo mas parecido a aplastarse y torce un testículo por puro gusto.\nY no le hagas caso a este Goy >>97006" | renderPostMessage 97008}}}

>>

/#/ 97203
{{{"Negros necesito su ayuda con una tarea xxd lo que pasa es que no tengo ni puta idea de c++ pero me gustaria pederle el miedo, un camarada posteo esto en lo que ocupa ayuda. NO QUIERO QUE ME RESUELVAN EL EJERCICIO ni que me hagan el programa solo me gustaria saber si alguno tendria alguna referencia para que lo pueda armar yo solito con el poder de mi autismo y poder documentarme para hacerme una idea de como iniciar.\n\n>Llevar c++ en la prepa\n>No recuerdar ni un carajo de c++\n\n[code]Realiza un programa para calcular el costo de internamiento de un paciente en la clínica “El muerto viviente”, para esto se de ingresar el tipo de tratamiento que se muestra en la tabla, la edad y el número de días de internamiento. Adicionalmente cuando un cliente es mayor de 60 años tiene un descuento de 25% y los clientes que son menores de 25 solo del 12%\n\nTipo de tratamiento Costo de internamiento por día\n\nDiabetes $800\nHipertensión $650\nCirugía $1000\nIntoxicación $400\n\nSe le debe indicar a cada uno de los pacientes que ingresan a internarse cuanto cuantos tienen de descuento y cuál es la cantidad que deberán cubrir.\nUna vez que ya no hay clientes para que se internen, se deberá indicar la cantidad de pacientes de cada uno de los tipos de tratamientos.\nUtiliza switch, un ciclo while y do while.[/code]" | renderPostMessage 97203}}}

>>

/#/ 97205
{{{">>97203\nPuedes aprender primero C. No importa lo que te digan, C aún está vigente y sigue siendo usado en grandes proyectos. Migrar de C a C++ Moderno vendría siendo más fácil." | renderPostMessage 97205}}}

>>

/#/ 97207
{{{">>97205\nNo hay hay ninguna razón para que empieza aprendiendo C, \"migrar\" de C a C++ moderno probablemente acabaría con él escribiendo el subset de C que es también C++. A menos que necesite las características de C++ que no tiene C (como OOP o templates), sería mejor que se quede con C.\nPero el negro no quiere eso, el quiere aprender C++ y además para una tarea. Y su profesor probablemente no vaya a aceptar C compilado con un compilador de C++ que prácticamente es a lo que te refieres con \"migrar\"." | renderPostMessage 97207}}}

>>

/#/ 97211
{{{">>97207\n>C -> Subset de C en C++ -> C++ Moderno.\nEsa era más o menso mi idea.\n\n>>97203\nSi el programa es de consola, primero empieza por el manejo de argumentos. Me imagino que el programa debería ejecutarse con un comando más o menso así:\n\n[code]\npajeet@localhost~$: clinica_muerto_viviente -t cirugia -a 23 -d 28\n[/code]\n\nNecesitarías una forma de analizar el texto de -t \"tratamiento\". Un [b]string[/b] o [b]string_view[/b] sería lo ideal.\n\nPara -a \"años\" y -d \"días\", se requiere una forma de convertir un texto en datos primitivos como int o std::size_t. [b]stoi()[/b] es malo como como pegarle a Dios, mientras que [b]from_chars()[/b] es mejor opción, pero de reciente integración, apenas en C++17, por lo que el compilador rancio de tu universidad podría no tener soporte.\n\n>Se le debe indicar a cada uno de los pacientes que ingresan a internarse cuanto cuantos tienen de descuento y cuál es la cantidad que deberán cubrir\nEsto si no lo entendí. Se supone que a los pacientes les cobras cuando son dados de alta. No cuando ingresan a internamiento." | renderPostMessage 97211}}}

>>

/#/ 97217
{{{">>97211\nOlvidé decir, que como estás aprendiendo, un POD (Plain Old Data) sería preferible a una clase Paciente. Aunque los POD ya son mal vistos en C++ Moderno. Hasta hay planes para nukearlos.\n\n[code]\nenum class Tratamiento { Diabetes, Hipertension, Cirugia, Intoxicacion };\n\n// Ejemplo de POD\nstruct Paciente {\n Tratamiento tratamiento_requerido;\n std::size_t edad_del_paciente;\n std::size_t dias_internado;\n};\n[/code]" | renderPostMessage 97217}}}

>>

/#/ 97219
{{{">>97203\nahí te va la estructura de tu programa negro, si te fijas bien lo que te mande solo captura e imprime los resultados de 1 solo paciente, así que lo que te falta es hace como dice este negro >>97217\nuna clase paciente y 3 listas o vectores o no sé que estructura quieras utilzar para añadir los pacientes \n>also \nfijate bien en las opciones falta añadir una para que puedas mostrar todos los pacientes\n\n[code]\n#include <iostream>\n\nusing namespace std;\n\nint main(){\n\nstring nombre;\nint edad, dias, salir = 0, opcion, opcionTratamiento;\nfloat cuenta, Diabetes = 800, Hipertension = 650, Cirugia = 1000, Intoxicacion = 400;\n\ncout<<\"HOSPITAL MUERTO VIVIENTE\\n\";\ncout<<\"BIENVENIDO!\\n\";\ncout<<\"Desea internarse para tratamiento?\\n\";\ncout<<\"1. SI\\n\";\ncout<<\"2. NO\\n\";\ncin>>opcion;\n \ndo{\n\nif(opcion == 2){\n\nsalir = 2;\ncout<<\"Gracias por su visita\\n\";\n \n }//if\n else{\n \ncout<<\"Elija tratamiento:\\n\";\ncout<<\"1. Diabetes\\n\";\ncout<<\"2. Hipertension\\n\";\ncout<<\"3. Cirugia\\n\";\ncout<<\"4. Intoxicacion\\n\";\ncout<<\"5. Salir\\n\";\ncin>>opcionTratamiento;\n\nswitch(opcionTratamiento){\n\ncase 1:\n\ncout<<\"Tratamiento Diabetes\\n\";\ncout<<\"Nombre paciente: \";\ncin>>nombre;\ncout<<\"edad: \";\ncin>>edad;\ncout<<\"Dias de tratamiento: \";\ncin>>dias;\n\n if (edad > 60) {\n cuenta = Diabetes * dias - (Diabetes * .25);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//if\n else if (edad < 25) {\n cuenta = Diabetes * dias - (Diabetes * .12);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else-if\n else {\n cuenta = Diabetes * dias;\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else\n \nbreak;\n\ncase 2:\n\ncout<<\"Tratamiento Hipertension\\n\";\ncout<<\"Nombre paciente: \";\ncin>>nombre;\ncout<<\"edad: \";\ncin>>edad;\ncout<<\"Dias de tratamiento: \";\ncin>>dias;\n\n if (edad > 60) {\n cuenta = Hipertension * dias - (Hipertension * .25);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//if\n else if (edad < 25) {\n cuenta = Hipertension * dias - (Hipertension * .12);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else-if\n else {\n cuenta = Hipertension * dias;\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else\n \nbreak;\n\ncase 3:\n\ncout<<\"Tratamiento Cirugia\\n\";\ncout<<\"Nombre paciente: \";\ncin>>nombre;\ncout<<\"edad: \";\ncin>>edad;\ncout<<\"Dias de tratamiento: \";\ncin>>dias;\n\n if (edad > 60) {\n cuenta = Cirugia * dias - (Cirugia * .25);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//if\n else if (edad < 25) {\n cuenta = Cirugia * dias - (Cirugia * .12);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else-if\n else {\n cuenta = Cirugia * dias;\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else\n \nbreak;\n\ncase 4:\n\ncout<<\"Tratamiento Intoxicacion\\n\";\ncout<<\"Nombre paciente: \";\ncin>>nombre;\ncout<<\"edad: \";\ncin>>edad;\ncout<<\"Dias de tratamiento: \";\ncin>>dias;\n\n if (edad > 60) {\n cuenta = Intoxicacion * dias - (Intoxicacion * .25);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//if\n else if (edad < 25) {\n cuenta = Intoxicacion * dias - (Intoxicacion * .12);\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else-if\n else {\n cuenta = Intoxicacion * dias;\n cout<<\"Nombre paciente: \"<<nombre<<\"\\n\";\n cout<<\"Edad: \"<<edad<<\"\\n\";\n cout<<\"Su cuenta es: \"<<cuenta<<\"\\n\";\n }//else\n \nbreak;\n\ncase 5:\n\nsalir = 2;\ncout<<\"Gracias por su visita\\n\";\n\nbreak;\n\ndefault:\n\ncout<<\"Opcion no valida\\n\";\n\nbreak;\n}//switch\n\n}//else\n\n}while(salir == 0);\n\nreturn 0;\n\n}//main\n[/code]\n\ndiviertete arreglando mi mierda [b]KEK[/b]" | renderPostMessage 97219}}}

>>

/#/ 97235
{{{">>97006\nSoyaWebDeveloCuck aqui, dices que puedo poner en mi currículum \"programador de interfaces front-end para C++\"?" | renderPostMessage 97235}}}

>>

/#/ 97247
{{{">>97235\nQtCreator tiene semejanza con CSS en una parte de los componentes de Qt (QWidgets) que se llama style. Me sorprendió bastante que permita hacer eso. De hecho, también con JS dice que anda como una joyita y se puede integrar a Python incluso (y parece que casi a cualquier cosa), pero C++ y JS los pone como si fuesen sus objetivos principales.\n\nAsí que supongo que no sería ningún mérito, salvo por conocer los Qwidgets." | renderPostMessage 97247}}}

>>

/#/ 98243
164135686999.png [Google] [ImgOps] [iqdb] [SauceNAO] ( 1.61MB, 3840x2160, gprogramming.png )
98243
{{{">>96917 (OP)\n>Quiero darle un uso a C++ y para soltarme decidí hacer proyectos pequeños. Me gustaría que me den ideas\nQuizás lo de la imagen adjunta te sea útil.\n>agradecería una sugerencia de frameworks sencillos para GUI\nPuedes fijarte en https://notabug.org/bfgeshka/awesome-c#gui y https://github.com/fffaraz/awesome-cpp#gui pero he leído buenas opiniones sobre Nuklear: https://github.com/Immediate-Mode-UI/Nuklear Aunque imagino que cualquiera de esas librerías te debería servir mientras no quieras hacer interfaces demasiado complejas.\n>>97211\n>Se supone que a los pacientes les cobras cuando son dados de alta. No cuando ingresan a internamiento.\nImplicando que su profesor sepa como funciona una clínica.\n>>97217\n¿No seria mejor usar un int o un short en lugar de size_t para la edad y días de internación?\n>>97247\n>Me sorprendió bastante que permita hacer eso.\nIgual a mi, cuando vi unas capturas de pantalla de Stacer al principio creí que era una de esas mierdas hechas con Electron, pero al revisar en https://github.com/oguzhaninan/Stacer/ note que esta hecho con C++ y Qt." | renderPostMessage 98243}}}

>>

/#/ 98263
{{{">>98243\n>esa pic\nQue depresión, me siento un inútil ;_;" | renderPostMessage 98263}}}

>>

/#/ 98264
164139329348.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 28.36KB, 348x348, JLv7DAhs_400x400.jpg )
98264
{{{">>98263\nno es tu culpa pajeet, tu fuiste hecho para otras cosas." | renderPostMessage 98264}}}

>>

/#/ 98268
{{{">>98264\nNo, negro no...! ;_;\n>se transforma en indio\n<Halou, you computer haz viruz. Show boobs and vegene." | renderPostMessage 98268}}}

>>

/#/ 98272
{{{">>98268\nHola c++ larper." | renderPostMessage 98272}}}

>>

/#/ 98273
{{{">>98263\n>me siento un inútil ;_;\nNo te sientas el que hizo esa imagen esta todo pendejo, el que lo hizo en realidad no sabe algoritmos ni matemáticas, ejemplo el reto 95 es trivial, el 70 también, el 133 tambien, el 83, el 27 deberia ser medio, el 34. \nComo que la persona que lo hizo, piensa en plan de \"si es dificil para mi , lo es para todos\"." | renderPostMessage 98273}}}

>>

/#/ 98278
{{{">>98273\nme imagino que es la dificultad para un pajeet o un mexicano que estudio en platzi+udemy" | renderPostMessage 98278}}}

>>

/#/ 98280
{{{">>98273\nson ejercicios anti-pajeet, preguntale a cualquier codemonkey un ejercicios random de esos y no podra responder sin +999 pestañas de google y copy-paste del primer codigo que encuentre." | renderPostMessage 98280}}}

>>

/#/ 98284
{{{">>96917 (OP)\nQt es lo más fácil del mundo y tiene documentación de sobra, al igual que C++. Aunque si C++ te filtra con punteros y demás, puedes usar python. Es lo mismo, el producto final será considerablemente más lento, pero funciona.\n>>96918\nGTK solo lo aprovechas al máximo en Linux. Simple. Qt también, pero sigue brindando resultados satisfactorios en Windows porque tiene soporte para modern UIs, diseño material y demás mierdas de moda." | renderPostMessage 98284}}}

>>

/#/ 98306
{{{">>98243\n>¿No seria mejor usar un int o un short en lugar de size_t para la edad y días de internación?\nPuedes usar [i]auto[/i] si lo prefieres, pero lo ideal es tratar a los contadores como un tipo de dato distinto a las variables que se usan para hacer cálculos numéricos convencionales.\nEn cuanto a los [i]shorts[/i], son útiles cuando quieres escatimar el uso de la RAM, como lo sería en sistemas embebidos. Pero arquitecturas como la x86-64 tienen serios problemas cuando se mezclan datos de 16 y 32 bits, por lo que su uso está desaconsejado. Y quien diga que el compilador puede usar instrucciones como MOVSX/MOVZX es un idiota o se le olvida que esas instrucciones solo mueven datos de registro/memoria a registro, pero no registro a memoria." | renderPostMessage 98306}}}

>>

/#/ 98310
164144519522.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 30.39KB, 587x327, tarea.jpg )
98310
{{{">>96917 (OP)\nPodrias hacer esto :^)" | renderPostMessage 98310}}}

>>

/#/ 98314
{{{">>98310\n[code]\n#include <cmath>\nint combi(int n, int m)\n{\n return (int) (std::tgamma(n)/(std::tgamma(m) * std::tgamma(m - n)));\n}\n[/code]" | renderPostMessage 98314}}}

>>

/#/ 98320
{{{">>98314\neso son funciones? tan corto? yo no tengo ni puta idea de programacion kek" | renderPostMessage 98320}}}

>>

/#/ 98321
{{{">>98314\n¿Pero que no tgamma resta 1 si m o n son naturales?\n\n[code]\nstd::cout << std::tgamma(6) << std::endl; // 120\nstd::cout << 6 * 5 * 4 * 3 * 2 * 1 << std::endl; // 720\n[/code]" | renderPostMessage 98321}}}

>>

/#/ 98323
{{{">>98321\nBueno, se me olvido ese error, solo dale n++,m++; en la primera linea de la función." | renderPostMessage 98323}}}

>>

/#/ 98334
{{{">>98314\nkek, ya entró el larper." | renderPostMessage 98334}}}

>>

/#/ 98338
{{{">>98334\n>ya entró el larper.\n¿En tu boypussy? ¡Negro, por Dios! ¡No necesitamos saber de esas cosas!" | renderPostMessage 98338}}}

>>

/#/ 98342
{{{">>98310\nUfff la verdad no entiendo bien lo que quiere esa fórmula. ¿Tres factoriales al mismo tiempo? ¿Para qué sirve hacer eso?" | renderPostMessage 98342}}}

>>

/#/ 98343
{{{">>98310\nLo que se debe hacer es evitar sobrecargar la función haciendo return return return (pasarse en callstack). La solución es resolver y pasar como parametro, de manera que la función del factorial no se quede esperando un resultado al llamarse recursivamente. Lo que se debe pasar como parametro sería un resultado provisional.\n\nPorque si uno lo hace como los factoriales que veo por ahí, colapsa. \n\nAún así, reconozco que no disfrutaría hacer este ejercicio, pero tal vez lo intente cuando me libere." | renderPostMessage 98343}}}

>>

/#/ 98345
{{{">>98314\n>>98321\nFelicidades. Le han hecho la tarea de primer semestre de carrera a >>98310\n¿Qué se siente trabajar gratis? kek\nY por cierto, el problema planteado requiere que validen que los números estén en el rango 1..9\nPor lo menos hubieran usado assert() si tienen miedo a usar if." | renderPostMessage 98345}}}

>>

/#/ 98347
{{{">>98345\nYo pensaba que los problemas de precisión de gamma, terminarían en que el problema no saliera." | renderPostMessage 98347}}}

>>

/#/ 98351
{{{">>98345\n>Felicidades. Le han hecho la tarea de primer semestre de carrera a...\nUna ley no escrita dice que: \"Naces estúpido, mueres estúpido.\" Así que si el negro >>98310 resultara ser un estúpido. No importa cuantos semestres apruebe copy-pasteado códigos de la dipweb, seguirá estúpido.\n>¿Qué se siente trabajar gratis?\nPuto cringe. Si tu definición de trabajar se limita a dos líneas de código, te va a dar diarrea con esto:\n\n[code]\n#include <iostream>\n\nint factorial(int natural_number);\nbool valid_numbers(int m, int n);\n\nint main(void) {\n\n int m, n;\n std::cout << \"Input two positive numbers less than 10\\n\";\n std::cin >> m >> n;\n \n if(!valid_numbers(m, n)) {\n return 1;\n }\n \n double i {static_cast<double>(factorial(m))};\n double j {static_cast<double>(factorial(n))};\n double k {static_cast<double>(factorial(n - m))};\n double result { (i / j * k) };\n \n std::cout << \"\\nThe fucking binomial coefficient of \";\n std::cout << m << \" and \" << n << \" are: \" << result << std::endl;\n \n return 0;\n}int factorial(int natural_number) {\n\n auto result {1};\n\n if(natural_number > 0) {\n for(auto i {1}; i < natural_number; ++i) {\n result += result * i;\n } \n }\n\n return result; \n}\n\nbool valid_numbers(int m, int n) {\n auto no_error {true};\n \n if(m == 10) {\n std::cout << \"ERROR: First number is teen!\\n\";\n no_error = false;\n }\n \n else if(m > 10) {\n std::cout << \"ERROR: First number greater than teen!\\n\";\n no_error = false; \n }\n \n else if(m < 0) {\n std::cout << \"ERROR: First number is negative!\\n\";\n no_error = false; \n }\n \n if(n == 10) {\n std::cout << \"ERROR: Second number is teen!\\n\";\n no_error = false; \n }\n \n else if(n > 10) {\n std::cout << \"ERROR: Second number greater than teen!\\n\";\n no_error = false; \n }\n \n else if(n < 0) {\n std::cout << \"ERROR: Second number is negative!\\n\";\n no_error = false; \n }\n \n if(m > n) {\n std::cout << \"ERROR: First number should be less or equal than second number!\\n\";\n no_error = false;\n }\n \n return no_error;\n}\n[/code]" | renderPostMessage 98351}}}

>>

/#/ 98352
{{{">>98310\nSí pude, buen hombre:\n\n[code]\n#include <iostream>\nusing namespace std;\n\nvoid factorial(double &a, double &res)\n{\nif (a == 1) {\nreturn;\n} else if (a < 1) {\nres = -1;\nreturn;\n}\n\nfor (int i = a; i > 1; i--) {\nres *= i;\n}\n}\n\nvoid mensajeDeError()\n{\ncout << \"Algo está mal: el número no puede ser menor que 1\" << endl;\n}\n\nint main(int argc, char *argv[])\n{\ndouble n = 4,\nm = 6,\nmnResta = m - n,\nnFact = 1,\nmFact = 1,\nmnRestaFact = 1;\n\n/*\n4! == 24\n 6! == 720\n 2! == 2\n TOTAL == 24 / (720 * 2) == 24/1440\n == 0,0166666667\n*/\n\nfactorial(n, nFact);\nfactorial(m, mFact);\nfactorial(mnResta, mnRestaFact);\nif (nFact == -1 || mFact == -1 || mnRestaFact == -1) {\nmensajeDeError();\nreturn 1;\n}\n\ncout << \"factorial de n:\\t\\t \" << nFact << endl;\ncout << \"factorial de m:\\t\\t \" << mFact << endl;\ncout << \"factorial de m - n:\\t \" << mnRestaFact << endl;\n\ndouble resultado = 0;\nresultado = nFact / (mFact * mnRestaFact);\n\ncout << \"El resultado del factorial de n\"\n<< endl << \"\\t dividido por el factorial de m\"\n<< endl << \"\\t multiplicado por el factorial de m - n\"\n<< endl << \"\\t es igual a:\"\n<< endl << \"\\t \" << resultado << endl;\n\n\n[/code]" | renderPostMessage 98352}}}

>>

/#/ 98353
{{{">>98345\n¿por qué menor que 10? Un factorial puede ser del número 18996896699, mientras sea mayor que 1 está bien." | renderPostMessage 98353}}}

>>

/#/ 98354
{{{"Otra cosa: ahí no está aclarado pero m tiene que ser mayor que n para que funcione bien. Porque si m == n, el denominador es 0 y si es menor, no puede haber factorial de un negativo." | renderPostMessage 98354}}}

>>

/#/ 98355
{{{">>98353\nPorque así lo indica el problema ¿no sabes leer?\n>>98351\n>el lo hace gratis\nalso que código de mierda anon." | renderPostMessage 98355}}}

>>

/#/ 98362
{{{">>98310\n[code]\nint main(){\n int n,m;\n int B[n + 1][n + 1];\n for(int i = 0;i <= n;i++){\n B[i][0] = B[i][i] = 1;\n for(int j = 1; j <= i; j++)\n B[i][j] = B[i -1][j] + B[i-1][j-1];\n }\n printf(\"%d\\n\",B[n][m]);\n return 0;\n}\n\n[/code]" | renderPostMessage 98362}}}

>>

/#/ 98375
{{{">>98362\n>printf en C++" | renderPostMessage 98375}}}

>>

/#/ 98376
{{{">>98375\n>no sé que es c++ \neso leí." | renderPostMessage 98376}}}

>>

/#/ 98413
{{{">>98376\nNegro, no sé si es bait o no, pero printf se usa en C. Claro que puedes usarlo en C++, pero lo correcto es usar std::cout" | renderPostMessage 98413}}}

>>

/#/ 99046
164260545615.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 46.67KB, 471x547, ayuda1.jpg )
99046
{{{"Alguien me puede explicar esto?" | renderPostMessage 99046}}}

>>

/#/ 99047
164260547434.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 51.61KB, 509x598, ayuda2.jpg )
99047
{{{">>99046\nY esto tambien" | renderPostMessage 99047}}}

>>

/#/ 99063
{{{">>99046\nSiguiendo una guia de youtube hice esto\n[code]\nfor(y=0;y<10;y++)\nprintf(\"%d\",arr[x][y]);\nprintf(\"\\n\");\n}\nsystem(\"pause\");\n}[/code]\n\nPero no entiendo como se haria para asociar un valor a cada celda y sumar el diagonal, alguien me explica?" | renderPostMessage 99063}}}

>>

/#/ 99064
{{{">>99063\nPerdon copie solo una parte, ahora si\n[code]main(){\nint arr [10] [10],x=0,y=0;\n\nfor(x=0;x<10;x++)\nfor(y=0;y<10;y++)\narr[x][y] = 0;\n\nfor(x=0;x<10;x++)\n{\n\nfor(y=0;y<10;y++)\nprintf(\"%d\",arr[x][y]);\nprintf(\"\\n\");\n}\nsystem(\"pause\");\n}\n[/code]" | renderPostMessage 99064}}}

>>

/#/ 99075
{{{">>96917 (OP)\nHaz la implementación en el main usando un do-while revisando si el usuario desea seguir agrengando registros; un switch creo que no habría necesidad porque ya tenemos el [i]map[/i], pero lo puedes poner para cualquier estupidez así cumples con el requerimiento; un while para comprobar que el usuario ingrese uno de los caracteres válidos para tipo de tratamiento.\n\n[code]#include <iostream>\n#include <vector>\n#include <map>\n\nstruct Paciente {\n char tratamiento;\n std::size_t edad;\n std::size_t dias;\n};\n\nstd::map<char, int> costosTratamiento = {\n { 'D', 800 },\n { 'H', 650 },\n { 'C', 100 },\n { 'I', 400 }\n};\n\nPaciente agregarPaciente (char t, int e, int d) {\n Paciente p;\n p.tratamiento = t;\n p.edad = e;\n p.dias = d;\n return p;\n}\n\nbool tratamientoValido (char t) {\n return (t == 'D' || t == 'H' || t == 'C' || t == 'I');\n}\n\nint calcularCosto (Paciente paciente) {\n int costoDiario = costosTratamiento[paciente.tratamiento];\n if (paciente.edad >= 60) {\n costoDiario *= 0.75;\n }\n if (paciente.edad <= 25) {\n costoDiario *= 0.88;\n }\n return costoDiario * paciente.dias;\n}\n\nint main() {\n std::vector<Paciente> base_datos_pacientes;\n // Vamos negro, no seas subnormal\n}\n[/code]" | renderPostMessage 99075}}}

>>

/#/ 99076
{{{">>99075\nMe podrias explicar lo de arriba?\n\ntambien hice este pero no se si esta bien\n\n[code]int a[10][10];\nint suma=0;\nfor(int i=0;i<10;i++)\nsuma=suma+a[i][i];\nprintf(\"%d\",a[10][10]);\n printf(\"\\n\");\n system(\"pause\");\n}[/code]" | renderPostMessage 99076}}}

>>

/#/ 99077
{{{">>99063\n[code]\nshort arr[10][10];\n short i, j, sum;\n for (i = 0; i < 10; ++i) {\n for (j = 0; j < 10; ++j) {\n arr[i][j] = i + 2 * j;\n }\n }\n for (i = 0; i < 10; ++i) {\n for (j = 0; j < 10; ++j) {\n std::cout << arr[i][j] << \" |\";\n }\n std::cout << \"\\n\";\n }\n sum = 0;\n j = 9;\n for (i = 0; i < 10; ++i) {\n std::cout << arr[i][j] << \" \";\n sum += arr[i][j];\n j--;\n }\n std::cout << sum;\n return 0;\n[/code]" | renderPostMessage 99077}}}

>>

/#/ 99091
{{{">>99076\n>system pause\nTremendo wintard amateur." | renderPostMessage 99091}}}

>>

/#/ 99121
{{{">>99091\nNo se progrramar" | renderPostMessage 99121}}}

>>

/#/ 100016
{{{">>98284\n>Aunque si C++ te filtra con punteros y demás, puedes usar python. Es lo mismo, el producto final será considerablemente más lento, pero funciona. \nO Nim como habían dicho en otro hilo, de esa forma consigues una sintaxis similar a Python y la velocidad de los lenguajes compilados (básicamente lo mejor de ambos mundos).\n>>98306\n>lo ideal es tratar a los contadores como un tipo de dato distinto a las variables que se usan para hacer cálculos numéricos convencionales.\n¿Por que?\n>En cuanto a los [i]shorts[/i], son útiles cuando quieres escatimar el uso de la RAM, como lo sería en sistemas embebidos. Pero arquitecturas como la x86-64 tienen serios problemas cuando se mezclan datos de 16 y 32 bits, por lo que su uso está desaconsejado.\nSeria mejor que el compilador resolviera eso automáticamente, pero supongo que se debe poder hacer ambas cosas con comentarios condicionales, algo en plan:\n[code]# Sistemas de 64 bits\nstd::size_t variable;\n# Sistemas de 32 bits y otros\nshort variable;[/code]\n>>98320\n>eso son funciones? tan corto?\nAyuda mucho contar con una librería de funciones matemáticas.\n>>99091\n>>99121\nUna forma fácil de resolverlo es creando una variable random y usar sprintf (o la función correspondiente para tomar la entrada del teclado), así tienes algo funcional sin importar el sistema operativo." | renderPostMessage 100016}}}

>>

/#/ 100098
{{{">>99091\nRecordar en cada comentario que uso lin ux porque zoi ezpecial." | renderPostMessage 100098}}}