|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - jubilubi
Páginas: [1]
1
« en: Lunes 19 de Enero de 2004, 23:13 »
¿Como le puedo hacer para que en un programa acepte numeros muy grandes, aunque esto afecte el resultado final? Entiendo que existen rangos en los tipos de datos, pero quisiera que me aceptara cualquier clase de numero, desde un 5, pasando por 89.315, hasta 10e-140. Se que va a ocurrir un error de truncamiento al introducir datos muy grandes, pero no importa, lo que me interesa es que realize las operaciones aunque el resultado sea solamente una aproximación del resultado real. Les agradeceria mucho su ayuda.
2
« en: Miércoles 5 de Noviembre de 2003, 21:32 »
No. Lee bien las variables. El problema es al realizar las operaciones para x1, x2, x3 y x4. Solamente realiza la operacion para x1 y se sale del programa.
3
« en: Martes 4 de Noviembre de 2003, 03:09 »
Este es el mejor curso on-line que he encontrado, "Edicion extremedamente simple de html". El creador del curso te enseña algo que es muy importante a mi parecer; te enseña html sin importar el navegador, es decir, con este curso puedes crear tu pagina y la persona que la visite la podrá visualizar bien, asi este utilizando IExplorer, Netscape, Opera, etc. A continuacion listo los capitulos de los cuales esta conformado el curso: CAPITULO 1 Introducción CAPITULO 2 Primeros pasos CAPITULO 3 Linkando con el Cosmos CAPITULO 4 Dando un poco de Imagen y color CAPITULO 5 Mapas Interactivos CAPITULO 6 Lo que nos habíamos dejado CAPITULO 7 Las listas CAPITULO 8 Tablas para todo CAPITULO 9 Los frames CAPITULO 10 Formularios, primeros pasos CAPITULO 11 Más formularios CAPITULO 12 Introducción a CSS CAPITULO 13 Introducción a JavaScript CAPITULO 14 Applets y Objects CAPITULO 15 Metainformación Esta es la direccion de dicho curso: http://www.psicobyte.com/html/
4
« en: Martes 4 de Noviembre de 2003, 02:41 »
Este es el codigo de mi programa:
void ecuaciones_cuadraticas() { //declaracion de variables char letra; int salir; int signo_b=1; //signo de b long double a,b,c; //datos de la ecuacion: axý-bx+c=0 alt+253=ý long double raiz_neg=0; //bandera (si el resultado de la raiz es negativo) long double res_raiz; //resultado de la raiz long double x1,x2,x3,x4; //incognitas a encontrar long double raiz_cuad; //bý-4ac
printf("Resolucion de ecuaciones cuadraticas de la forma axý + bx + c = 0"); printf("nintroduzca el valor de a: "); scanf("%e",&a); printf("nintroduzca el valor de b: "); scanf("%e",&b); printf("nintroduzca el valor de c: "); scanf("%e",&c); if (b<0) //si b<0... { signo_b=-1; //...entonces en el signo de b es negativo } raiz_cuad=(b*b)-(4*(a*c)); if (raiz_cuad<0) //si el resultado de bý-4ac es < 0... { raiz_cuad=abs(raiz_cuad); //valor absoluto de (b*b)-4ac signo_b=1; //...entonces bandera = 1 "bý-4ac es negativo" } res_raiz=sqrt(raiz_cuad); x1=((-b)+res_raiz)/(2*a); x2=((-b)-res_raiz)/(2*a); x3=signo_b*(-1*((abs(b)+(res_raiz))/(2*a))); x4=c/(a*x3); printf("nx1 = %e",x1); printf("nx2 = %e",x2); printf("nx3 = %e",x3); printf("nx4 = %e",x4); if (raiz_neg==1) //si bandera = 1 { printf("nNOTA: el resultado de la raiz es negativo"); } }
5
« en: Lunes 3 de Noviembre de 2003, 03:01 »
¿tendra algo que ver las operaciones que se realizan?
si a x1, x2, x3 y x4 le asigno operaciones como estas:
x1=4+(5*2); x2=x1+5; x3=x2+3; x4=x3+10;
entonces si las realiza y me imprime los resultados.
6
« en: Lunes 3 de Noviembre de 2003, 02:54 »
gracias juank... no conocia ese tipo de mascaras (%ld %uld). esperare tu respuesta el fin de semana. De cualquier forma tratare de buscar acerca de estas mascaras. Oye, al utilizar unsigned long, no podria introducir numeros negativos (¿o si?) por eso estoy utilizando long double. SI estoy equivocado en esto te agradeceria muchisimo que me lo explicaras.
7
« en: Lunes 3 de Noviembre de 2003, 02:51 »
El programa imprime esto:
i=30464
Recuerden checar la direccion de la explicacion del programa anterior...
8
« en: Viernes 31 de Octubre de 2003, 16:56 »
utilizando la misma logica que di en la solucion del programa anterior... ¿alguien me puede decir que imprime y por que el segundo programa?
int i=32000; i=i*3; printf("i=%d",i);
ya tengo la respuesta, es nada más para que le piensen un poco (a los que estamos empezando en esto)
9
« en: Viernes 31 de Octubre de 2003, 16:46 »
long double. el programa se ejecuta hasta la primera operacion (x1) y a partir de ahi se sale (presionando f7 me doy cuenta de esto). Utilizo el compilador de Turbo C++ 3.0 IDE.
10
« en: Viernes 31 de Octubre de 2003, 00:47 »
signo_b=-1; scanf("%e,%e,%e,%e",&a,&b,&c); x1=((-b)+res_raiz)/(2*a); x2=((-b)-res_raiz)/(2*a); x3=signo_b*(-1*((abs(b)+(res_raiz))/(2*a))); x4=c/(a*x3);
printf("%e,%e,%e,%e",x1,x2,x3,x4); getch();
no me realiza todas las operaciones y se sale del programa sin imprimir algo en pantalla. ¿por que?
11
« en: Sábado 25 de Octubre de 2003, 16:13 »
Creo que no hay mucha ayuda... Unos compañeros me dijeron que utilize programación orientada a objetos (c++) empleando cin y cout; y que con eso el problema queda resuelto. ¿que tiene que ver el utilizar c o c++?¿en POO no utilizo mascaras (%d,%f,etc)?¿por que me dijeron que utilizando PPO ya no tendria problemas?si el problema se resuelve utilizando PPO, debe de haber una forma de resolverse utilizando c ¿o no?
13
« en: Lunes 20 de Octubre de 2003, 20:48 »
ya se por que !!!! realize varias pruebas don diferentes programas del mismo tipo y ya se porque me imprime eso. Si a alguien le interesa, que me pregunte y se lo trato de explicar con mucho gusto (cualquiera de los dos programas aqui expuestos).
14
« en: Martes 7 de Octubre de 2003, 19:19 »
Gracias por la atencion Juank.
15
« en: Sábado 4 de Octubre de 2003, 16:33 »
Perdon por la molestia nuevamente juank, pero tengo otra duda. Mira, tengo el siguiente programa:
#include <stdio.h> #include <conio.h>
void main() { int i=32000; i=i*3; printf("i=%d",i); getch(); } el valor de 32000 si lo puede tomar i por que esta dentro del rango de int. al multiplicar el valor de i * 3 me queda 96000. ¿A este valor le hago el complemento a 2? por que no me da el resultado que me imprime en pantalla. De antemano, muchas gracias por la atencion.
16
« en: Sábado 4 de Octubre de 2003, 16:19 »
ya realize algunos cambios: en lugar de utilizar %f utilizo %e y en lugar de utilizar float utilizo long double... me queda asi: #include <stdio.h> //printf(); scanf(); #include <conio.h> //clrscr(); gotoxy(); cprintf(); getch(); #include <math.h> //abs(); sqrt();
void main(void) { //declaracion de variables int d=1; //signo de b long double a,b,c; //datos de la ecuacion: a(x*x)-bx+c=0 int band=0; //bandera (si el resultado de la raiz es negativo) long double res_raiz; //resultado de la raiz long double x1,x2,x3,x4; //incognitas a encontrar float raiz_cuad; //(b*b)-4ac
clrscr(); gotoxy(10,2);printf("introduzca el valor de a: "); scanf("%e",&a); gotoxy(10,3);printf("introduzca el valor de b: "); scanf("%e",&b); gotoxy(10,4);printf("introduzca el valor de c: "); scanf("%e",&c); if (b<0) //si b<0... { d=-1; //...entonces en el signo de b es negativo } raiz_cuad=(b*b)-(4*(a*c)); if (raiz_cuad<0) //si el resultado de (b*b)-4ac es < 0... { raiz_cuad=abs(raiz_cuad); //valor absoluto de (b*b)-4ac band=1; //...entonces bandera = 1 "(b*b)-4ac es negativo" } res_raiz=sqrt(raiz_cuad); x1=((-b)+res_raiz)/(2*a); x2=((-b)-res_raiz)/(2*a); x3=d*(-1*((abs(b)+(res_raiz))/(2*a))); x4=c/(a*x3); gotoxy(10,10);printf("el resultado de x1 es:%e",x1); gotoxy(10,12);printf("el resultado de x2 es:%e",x2); gotoxy(10,16);printf("el resultado de x3 es:%e",x3); gotoxy(10,18);printf("el resultado de x4 es:%e",x4); if (band==1) //si bandera = 1 { gotoxy(10,14);printf("el resultado de la raiz es negativo"); } getch(); }
Ahora no me saca del programa sin imprimirme algo en pantalla. El problema es que, por ejemplo, si introduzco los siguientes valores:
a=1 b=-1e130 c=1e130
Si dentro del programa intruduzco esta linea de codigo: printf("%e(x*x) + %ex + %e = 0",a,b,c); me deberia imprimir en pantalla lo siguiente (a menos que este equivocado):
1(x*x) + -1e130x + 1e130 = 0
pero me imprime otro tipo de valores:
1e-290(x*x) + -1e+6111x + 0.38=000e+307 = 0
Y en los resultados:
x1= 1e-272f x2= 1e-272f x3= 1e-272f x4 = 1e-288f
¿En que estoy mal? ¿Que tendria que hacer para realizar este tipo de operaciones? Les agradeceria muchisimo su ayuda.
17
« en: Viernes 3 de Octubre de 2003, 22:51 »
tengo una pequeña duda juank... el valor en binario de 60000 es:
11101010 01100000
para hacer el complemento a 2 primero hago el complemento a uno:
11101010 01100000 --- ec1 (60000 en binario) 00010101 10011111 --- ec2 (complemento a uno)
el complemento a 2 lo obtengo sumando 1 a la ec2:
00010101 10011111 1 --------------------------- 00010101 10100000 --- ec3 (complemento a 2)
Este numero binario (ec3) en decimal es 5536. Este es el resultado que me imprime en pantalla el programa pero en negativo. ¿hice alguna operación mal? ¿donde quedo el signo?
18
« en: Viernes 3 de Octubre de 2003, 20:26 »
Gracias ThomasCAT. Estoy empezando en esto de programar y todavia no llego a manejo de archivos, pero con lo que lei en la pagina que me indicas ya logre lo que queria hacer. Gracias de nuevo.
19
« en: Viernes 3 de Octubre de 2003, 20:21 »
Estoy tratando de hacer un programa que me resuelva ecuaciones cuadraticas de la forma a(x*x)+bx+c=0; tengo lo siguiente:
#include <stdio.h> //printf(); scanf(); #include <conio.h> //clrscr(); gotoxy(); cprintf(); getch(); #include <math.h> //abs(); sqrt();
void main(void) { //declaracion de variables int d=1; //signo de b float a,b,c; //datos de la ecuacion: a(x*x)-bx+c=0 float band=0; //bandera (si el resultado de la raiz es negativo) float res_raiz; //resultado de la raiz float x1,x2,x3,x4; //incognitas a encontrar float raiz_cuad; //(b*b)-4ac
clrscr(); gotoxy(10,2);printf("introduzca el valor de a: "); scanf("%f",&a); gotoxy(10,3);printf("introduzca el valor de b: "); scanf("%f",&b); gotoxy(10,4);printf("introduzca el valor de c: "); scanf("%f",&c); if (b<0) //si b<0... { d=-1; //...entonces en el signo de b es negativo } raiz_cuad=(b*b)-(4*(a*c)); if (raiz_cuad<0) //si el resultado de (b*b)-4ac es < 0... { raiz_cuad=abs(raiz_cuad); //valor absoluto de (b*b)-4ac band=1; //...entonces bandera = 1 "(b*b)-4ac es negativo" } res_raiz=sqrt(raiz_cuad); x1=((-b)+res_raiz)/(2*a); x2=((-b)-res_raiz)/(2*a); x3=d*(-1*((abs(b)+(res_raiz))/(2*a))); x4=c/(a*x3); gotoxy(10,10);printf("el resultado de x1 es:%.4f",x1); gotoxy(10,12);printf("el resultado de x2 es:%.4f",x2); gotoxy(10,16);printf("el resultado de x3 es:%.4f",x3); gotoxy(10,18);printf("el resultado de x4 es:%.4f",x4); if (band==1) //si bandera = 1 { gotoxy(10,14);printf("el resultado de la raiz es negativo"); } getch(); }
A este programa, si le meto valores muy grandes o muy pequeños, por ejemplo: 1e130 (uno por 10 a la 130) me saca del programa sin imprimir algo en pantalla. ¿como le hago para el programa me reconozca este tipo de cantidades (1e130)?
20
« en: Viernes 19 de Septiembre de 2003, 00:18 »
Quisiera saber como intruducir un archivo .txt Tengo el siguiente codigo (estoy empezando a programar y práctico con do while): do{ clrscr(); printf("ntroduccionn"); printf("uman"); printf("[R]estan"); printf("[A]bandonarn"); letra=toupper(getche()); switch(letra) { case 'I': //aqui quiero introducir un .txt break; case 'S': //operacion suma break; case 'R': //operacion resta break; case 'A': //salir break; default: printf("opcion no valida"); break; }getch(); /*este getch(); lo pongo para que haya una pausa despues de elegir alguna opcion*/ }while(letra!='A');
Ah, se me olvidaba, ¿como le puedo hacer para que, al presionar 'a' me saque del programa sin presionar otra tecla nuevamente?
21
« en: Jueves 18 de Septiembre de 2003, 23:52 »
ok. Gracias juank por la informacion. Ya realize la operacion binaria y tienes razon. Gracias de nuevo.
22
« en: Lunes 15 de Septiembre de 2003, 17:21 »
Estoy empezando en esto de la programacion en C y tengo el siguiente codigo: #include <stdio.h> #include <conio.h> void main() { int i; unsigned int j; clrscr(); j=60000; i=j; printf("i=%d,j=%u",i,j); getch(); } ... el cual me imprime lo siguiente: i=-5536, j=60000 ya le di vueltas por todos lados y no entiendo porque imprime eso. ¿Alguien podria ayudarme?
Páginas: [1]
|
|
|