|
Mostrar Temas
|
Páginas: 1 2 3 4 [5]
|
41
|
Programación / Programación C/C++ / [Aporte]Convertidor de números decimales a romanos
|
en: 24 Mayo 2015, 19:00 pm
|
el código es un simple algoritmo recursivo, el limite es de 3999 pero se puede extender haciendo unas modificaciones en el código, esto es así porque con las letras IVXLCDM solo se puede hasta ese valor #include <stdio.h> char* s = "IVXLCDM"; int n[] = {1,5,10,50,100,500,1000}; int aC; //aC es el número a convertir #define NUM_LIMITE 4000 //aC tiene que ser menor a esta constante void rec(int r){ //algoritmo recursivo, el valor de r lo explico con ejemplos: //si aC = 43 entonces r = 10, si aC = 232 entonces r = 100 //si aC = 2132 entonces r = 1000, si aC = 4 entonces r = 1 int b = aC/r; //Toma el digito más significativo de aC, ejemplo: si aC = 234 entonces b = 2 aC -= b*r; //trunca aC restando el digito más significativo, si aC = 234 entonces aC = 34 int p = 0; for(int i=0; i < 7;i++) if(r==n[i]) p = i; /* p sirve para saber la posición del caracter más indicado para imprimir ejemplos: cuando r = 1 entonces p = 0 y s[p] = 'I' cuando r = 10 entonces p = 2 y s[p] = 'X' cuando r = 100 entonces p = 4 y s[p] = 'C' cuando r = 1000 entonces p = 6 y s[p] = 'M' */ //lo siguiente lo comento para r = 1 pero lo mismo pasa con diferentes valores de r if(b < 4){ //para I II II for(int i=0; i < b;i++) printf("%c",s[p]); //s[p] = 'I' lo imprime b veces } else if(b < 6){ //para IV and V printf("%c%c",(b==4)?s[p]:' ',s[p+1]); // s[p] = 'I' y s[p+1] = 'V' } else if(b < 9){ //para VI VII VIII printf("%c",s[p+1]); //s[p+1] = 'V' for(int i = b-5; i > 0;i--) printf("%c",s[p]); //s[p] = 'I' lo imprime b-5 veces } else{ //para IX printf("%c%c",s[p],s[p+2]); //s[p] = 'I' y s[p+2] = 'X' } printf(" "); //esta linea es solo para que el resultado sea más legible :) if(r!=1) rec(r/10); //cuando r = 1 entonces se ha evaluado el digito menos significativo de aC } int main(){ printf("Ingresa el numero a convertir: "); scanf("%i",&aC); if( aC < NUM_LIMITE ) for(int r = 10; ;r*=10) if(aC < r){ rec(r/10); break; } getchar(); return 0; }
ITI
|
|
|
42
|
Programación / ASM / Problemas al instalar masm32
|
en: 23 Mayo 2015, 21:57 pm
|
Me salen dos errores cuando trato de instalar masm32 en mi computadora windows 8 de 64 bits los errores son los siguientes: inc2l.exe: No se encuentra el ordinal 202 en la biblioteca de vínculos dinámicos C:\WINDOWS\AppPatch\AcLayers.dll inc2l.exe: No se encuentra el ordinal 200 en la biblioteca de vínculos dinámicos C:\WINDOWS\AppPatch\AcGenral.dll Se instala y todo pero no sé si eso traerá problemas cuando ya esté programando También cuando trato de ensamblar el siguiente código: .model small .486 .stack 64 .data CR equ 13 LF equ 10 cadena db 'Hola Mundo 32 bits!$',CR,LF .code inicio: mov eax,@data mov ds,eax mov eax,0900h lea edx,cadena int 21h mov eax,4c00h int 21h end inicio
me sale el siguiente error: /z2 "as.obj" "as.exe" NUL LINK : warning LNK4044: unrecognized option "z2" ignored LINK : error : segment referene in fixup record as.obj : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt ya traté de ensamblar otros código y el error es el mismo ahora quisiera saber si esos errores al ensamblar son por culpa del error al momento de instalar el masm
|
|
|
43
|
Programación / Programación C/C++ / duda sobre funciones
|
en: 18 Abril 2015, 04:49 am
|
Hola, tengo una función en un fichero diferente al main.cpp, y quiero que esa función pueda ser llamada desde el fichero main, cómo le hago? Me pueden dar unos ejemplos? , gracias de antemano.
|
|
|
45
|
Programación / Java / [Java]Como saber el día de la semana
|
en: 1 Junio 2013, 23:48 pm
|
Sencillo programa para saber el día de la semana de una fecha... el único inconveniente es que hay que saber si el año es bisiesto import java.util.Scanner;
public class Estudiando{ public static String Busca_Dia(int dia){ String El_Dia=null; switch(dia){ case 0: El_Dia="Domingo"; break; case 1: El_Dia="Lunes"; break; case 2: El_Dia="Martes"; break; case 3: El_Dia="Miercoles"; break; case 4: El_Dia="Jueves"; break; case 5: El_Dia="Viernes"; break; case 6: El_Dia="Sabado"; break; }
return El_Dia; }
public static void imprime(String palabra){ System.out.println(palabra); } public static void main(String[]args){ Scanner leer = new Scanner(System.in);
int año,dia,mes; int comprobar_año;
imprime("Ingresa año"); año = leer.nextInt();
do{ imprime("ingresa mes: del 1 al 12"); mes = leer.nextInt(); }while(mes>12 || mes==0);
do{ imprime("ingresa dia"); dia = leer.nextInt(); }while(dia>31 || dia==0);
do{ imprime("El año es bisiesto? Si->1, No->2"); comprobar_año = leer.nextInt(); }while(comprobar_año>2 || comprobar_año==0);
int Modulo_mes = modulo_mes(mes,comprobar_año);
//Formula para saber el dia int A = (año-1) % 7; int D = dia % 7; int DM = (((año-1)/4) - (3*((año-1)/100+1)/4)) % 7; int resultado = (A + D + Modulo_mes + DM) % 7;
String busca_dia = Busca_Dia(resultado); System.out.println("El dia Es: " + busca_dia); imprime("Comunidad Underground Hispana El-Hacker.com");
}
public static int modulo_mes(int mes,int bisiesto){ int modulo=0;
switch(mes){ case 1: modulo = 0; break; case 2: modulo = 3; break; case 3: if(bisiesto==1) modulo = 4; else modulo = 3; break; case 4: if(bisiesto==1) modulo = 0; else modulo = 6; break; case 5: if(bisiesto==1) modulo = 2; else modulo = 1; break; case 6: if(bisiesto==1) modulo = 5; else modulo = 4; break; case 7: if(bisiesto==1) modulo = 0; else modulo = 6; break; case 8: if(bisiesto==1) modulo = 3; else modulo = 2; break; case 9: if(bisiesto==1) modulo = 6; else modulo = 5; break; case 10: if(bisiesto==1) modulo = 0; else modulo = 1; break; case 11: if(bisiesto==1) modulo = 4; else modulo = 3; break; case 12: if(bisiesto==1) modulo = 6; else modulo = 5; break; }
return modulo; }
}
|
|
|
46
|
Programación / Java / [Java]Port Scanner 0.1
|
en: 12 Mayo 2013, 21:10 pm
|
Sencillo programa para escanear puertos...... Tarda entre 3 a 4 minutos en buscar entre los 65535 puertos..... puedo ser mas rápido,pero no quiero romper la pc de nadie xD un ejemplo: Esto fue en un cyber: Puerto 65502 Abierto Puerto 12110 Abierto Puerto 12119 Abierto Puerto 12025 Abierto Puerto 135 Abierto Puerto 7438 Abierto Puerto 5939 Abierto Puerto 12143 Abierto Puerto 1341 Abierto Puerto 445 Abierto Puerto 1052 Abierto Puerto 5152 Abierto Puerto 12563 Abierto Puerto 12465 Abierto Puerto 12080 Abierto Puerto 27275 Abierto Puerto 5679 Abierto Puerto 80 Abierto Puerto 990 Abierto Puerto 12993 Abierto Puerto 12995 Abierto GENERACIÓN CORRECTA (total time: 3 minutes 26 seconds) El Código del Scanner: import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Estudiando { public static void main (String[]args ){ ExecutorService executor = Executors.newCachedThreadPool(); int ini=1,fin=100; while(fin<=65500){ executor.execute(new Run(ini,fin)); fin+=100; ini+=100; } executor.execute(new Run(65501,65535)); } } int puerto = 0; int fin; public Run(int port,int fin){ puerto = port; this.fin=fin; } public void run(){ Scanner Scanner = new Scanner(puerto,fin); } } class Scanner { public Scanner(int puerto,int fin){ for(int port =puerto;port<=fin;port++){ try{ System. out. println("Puerto "+port +" Abierto"); dame.close(); } } } }
Ferreter
|
|
|
47
|
Programación / Java / IA De Un ajedrez??
|
en: 2 Abril 2013, 02:04 am
|
Como puedo hacerlo??
la pregunta es esa, Quería saber si es posible hacer un juego de ajedrez con IA y que tan difícil podría hacer...
Cuales metodos tendria que crear...como cuantas lineas de código tendría que hacer?? etc
se un poco de programación... llevo casi 4 meses programando
|
|
|
48
|
Programación / Java / Megaman Zero
|
en: 1 Abril 2013, 01:25 am
|
Este juego es muy sencillo lo hice un domingo que estaba aburrido xDD ya iré haciendo mas aportaciones conforme m valla acostumbrándome al foro xDD Se mueve con A hacia la izquierda Se mueve con D hacia la derecha Con SPACE puede disparar su primer poder con daño x1 con T dispara su segundo poder con daño x2 El Juego trata de matar al tigre cuantas veces aparezca y llegar ala meta antes de que el tiempo termine La Carpeta megaman rapishare http://rapidshare.com/files/60609308/megaman.rarMediaFire http://www.mediafire.com/?2guq7u5g7x6d9puLa carpeta megaman va en disco local C: cámbienlo si quieren import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*;
public class zero extends JFrame{ public static int x=150; public static int y=350; public static float x_nave=10; public static float y_nave=100; public static float x_move_nave=2.50f; public static float salida=200; public static float bajada_disparos_nave=100; public static int mapax,mapay,mapax2; public static int daño=0; public static int tiempo=10000; public static int vida=100; public static String stiempo; public static String svida; public static int objetivo_a_matar=450; public static Image nave; public static boolean disparar,golpear,cortar,derecha,izquierda,correr; Rectangle2D megaman,fuego,fuego2,pared1,nave_enemiga,disparos_nave,disparos_nave2,disparos_nave3,disparos_nave4,disparos_nave5,disparos_nave6,disparos_nave7,disparos_nave8,disparos_nave9,disparos_nave10,disparos_nave11,disparos_nave12; Rectangle2D disparos_nave13,disparos_nave14,disparos_nave15,disparos_nave16,disparos_nave17,disparos_nave18,disparos_nave19,disparos_nave20,disparos_nave21,disparos_nave22,disparos_nave23,disparos_nave24; public void pintarEnOffscreen(Graphics2D g2){ g2.setColor(Color.white); g2.setBackground(Color.white); megaman = new Rectangle2D.Double(x+40,y+20, 10, 35); bajada_disparos_nave+=1; if(bajada_disparos_nave>=400){bajada_disparos_nave=100;} disparos_nave = new Rectangle2D.Double(mapax2+100,bajada_disparos_nave, 10, 40); disparos_nave2 = new Rectangle2D.Double(mapax2+300,bajada_disparos_nave, 10, 40); disparos_nave3 = new Rectangle2D.Double(mapax2+500,bajada_disparos_nave, 10, 40); disparos_nave4 = new Rectangle2D.Double(mapax2+600,bajada_disparos_nave, 10, 40); disparos_nave5 = new Rectangle2D.Double(mapax2+700,bajada_disparos_nave, 10, 40); disparos_nave6 = new Rectangle2D.Double(mapax2+900,bajada_disparos_nave, 10, 40); disparos_nave7 = new Rectangle2D.Double(mapax2+1200,bajada_disparos_nave, 10, 40); disparos_nave8 = new Rectangle2D.Double(mapax2+1300,bajada_disparos_nave, 10, 40); disparos_nave9= new Rectangle2D.Double(mapax2+1500,bajada_disparos_nave, 10, 40); disparos_nave10 = new Rectangle2D.Double(mapax2+1600,bajada_disparos_nave, 10, 40); disparos_nave11 = new Rectangle2D.Double(mapax2+1800,bajada_disparos_nave, 10, 40); disparos_nave12 = new Rectangle2D.Double(mapax2+2200,bajada_disparos_nave, 10, 40); disparos_nave13 = new Rectangle2D.Double(mapax2+2300,bajada_disparos_nave, 10, 40); disparos_nave14 = new Rectangle2D.Double(mapax2+2400,bajada_disparos_nave, 10, 40); disparos_nave15 = new Rectangle2D.Double(mapax2+2600,bajada_disparos_nave, 10, 40); disparos_nave16 = new Rectangle2D.Double(mapax2+2900,bajada_disparos_nave, 10, 40); disparos_nave17 = new Rectangle2D.Double(mapax2+3100,bajada_disparos_nave, 10, 40); disparos_nave18 = new Rectangle2D.Double(mapax2+3200,bajada_disparos_nave, 10, 40); disparos_nave19 = new Rectangle2D.Double(mapax2+3500,bajada_disparos_nave, 10, 40); disparos_nave20 = new Rectangle2D.Double(mapax2+3600,bajada_disparos_nave, 10, 40); disparos_nave21= new Rectangle2D.Double(mapax2+3750,bajada_disparos_nave, 10, 40); disparos_nave22 = new Rectangle2D.Double(mapax2+3820,bajada_disparos_nave, 10, 40); disparos_nave23 = new Rectangle2D.Double(mapax2+3850,bajada_disparos_nave, 10, 40); disparos_nave24 = new Rectangle2D.Double(mapax2+3900,bajada_disparos_nave, 10, 40); g2.setColor(Color.red); g2.fill(disparos_nave); g2.fill(disparos_nave2); g2.fill(disparos_nave3); g2.fill(disparos_nave4); g2.fill(disparos_nave5); g2.fill(disparos_nave6); g2.fill(disparos_nave7); g2.fill(disparos_nave8); g2.fill(disparos_nave9); g2.fill(disparos_nave10); g2.fill(disparos_nave11); g2.fill(disparos_nave12); g2.fill(disparos_nave13); g2.fill(disparos_nave14); g2.fill(disparos_nave15); g2.fill(disparos_nave16); g2.fill(disparos_nave17); g2.fill(disparos_nave18); g2.fill(disparos_nave19); g2.fill(disparos_nave20); g2.fill(disparos_nave21); g2.fill(disparos_nave22); g2.fill(disparos_nave23); g2.fill(disparos_nave24); if(megaman.intersects(disparos_nave) || megaman.intersects(disparos_nave2) || megaman.intersects(disparos_nave3) || megaman.intersects(disparos_nave4) || megaman.intersects(disparos_nave5) || megaman.intersects(disparos_nave6) || megaman.intersects(disparos_nave7) || megaman.intersects(disparos_nave8) || megaman.intersects(disparos_nave9) || megaman.intersects(disparos_nave10) || megaman.intersects(disparos_nave11) || megaman.intersects(disparos_nave12) || megaman.intersects(disparos_nave13) || megaman.intersects(disparos_nave14) || megaman.intersects(disparos_nave15) || megaman.intersects(disparos_nave16) || megaman.intersects(disparos_nave17) || megaman.intersects(disparos_nave18) || megaman.intersects(disparos_nave19) || megaman.intersects(disparos_nave20) || megaman.intersects(disparos_nave21) || megaman.intersects(disparos_nave22) || megaman.intersects(disparos_nave23) || megaman.intersects(disparos_nave24) ){System.exit(0);} g2.setColor(Color.BLUE); pared1 = new Rectangle2D.Double(mapax+objetivo_a_matar+220, 345, 40, 60); if(megaman.intersects(pared1)){mapax+=6; mapax2+=6; g2.drawString("PRESIONA SPACE O R PARA GOLPEAR",100,200); } if(megaman.intersects(pared1)){ vida-=1;} Image normal = Toolkit.getDefaultToolkit().getImage("C://megaman//normal.gif"); Image run = Toolkit.getDefaultToolkit().getImage("C://megaman//run.gif"); Image kill = Toolkit.getDefaultToolkit().getImage("C://megaman//kill.gif"); Image kill2 = Toolkit.getDefaultToolkit().getImage("C://megaman//enemigo1.gif"); g2.drawImage(kill2, mapax+objetivo_a_matar+200,345, this); Image kill3 = Toolkit.getDefaultToolkit().getImage("C://megaman//kill3.gif"); if(!disparar && !golpear && !cortar && !correr){ g2.drawImage(normal,x+20,y+20,this); } if(correr){ g2.drawImage(run,x,y,this); } if(disparar){ fuego = new Rectangle2D.Double(x+50, y+20, 150, 30); g2.setColor(Color.white); if(fuego.intersects(pared1)){g2.drawString("!!HIT!!", 200, 250); daño+=1;} g2.drawImage(kill,x+8,y+20,this); } if(daño>=500){objetivo_a_matar=800;} if(daño>=1000){objetivo_a_matar=1000;} if(daño>=1500){objetivo_a_matar=1400;} if(daño>=2000){objetivo_a_matar=1800;} if(daño>=2500){objetivo_a_matar=2000;} if(daño>=3000){objetivo_a_matar=2300;} if(daño>=3500){objetivo_a_matar=2600;} if(daño>=4000){objetivo_a_matar=3000;} if(daño>=4500){objetivo_a_matar=3200;} if(daño>=5500){objetivo_a_matar=3400;} if(daño>=7000){objetivo_a_matar=3700;} if(daño>=8000){objetivo_a_matar=3800;} if(daño>=10000){objetivo_a_matar=10000;} if(cortar){ g2.drawImage(kill3,x+14,y+3,this); fuego2 = new Rectangle2D.Double(x+80, y, 10, 50); g2.setColor(Color.white); if(fuego2.intersects(pared1)){g2.drawString("!!DOBLE HIT!!", 200, 250); daño+=2;} } g2.setColor(Color.green); g2.drawString("!!META!!",mapax+4000,150); g2.fillRect(mapax,410,60000, 80); g2.setColor(Color.blue); g2.setColor(Color.white); g2.drawString("MEGAMAN ZERO CREADO POR FERRETER",100,50); g2.setColor(Color.red); tiempo-=1; stiempo= String.valueOf(tiempo).toString(); g2.drawString("TIEMPO " +stiempo, 520, 50); if(objetivo_a_matar<10000 && tiempo<=0){System.exit(0);} g2.setColor(Color.green); svida= String.valueOf(vida).toString(); g2.drawString("VIDA "+svida , 500, 100); if(vida<=0){System.exit(0);} if(mapax>=-500){ g2.setColor(Color.white); g2.fillRect(10, 100, 200, 40); g2.setColor(Color.black); g2.drawString("Tu Objetivo Es Llegar Al Final",11,110); g2.drawString("De La Meta Antes De Que",11,120); g2.drawString("El Tiempo Termine",11,130); } } public void paint(Graphics g) { Graphics2D g2 = (Graphics2D)g; Dimension d = getSize(); Image mImagen = createImage(d.width, d.height); Graphics2D offG = (Graphics2D)mImagen.getGraphics(); offG.setColor(Color.black); offG.fill(new Rectangle2D.Double(0, 0, d.width, d.height)); pintarEnOffscreen(offG); g2.drawImage(mImagen, 0, 20, null); }
public static void main(String []args){ zero e= new zero(); e.setSize(700,600); e.setTitle("MEGAMAN ZERO By Ferreter"); e.setLayout(new FlowLayout()); e.setVisible(true); e.repaint(); e.addWindowListener(new WindowAdapter(){public void windowClosing (WindowEvent e){System.exit(1);}}); e.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_D){mapax-=6; mapax2-=6; disparar=false; golpear=false; cortar=false; correr=true; } if(e.getKeyCode()==KeyEvent.VK_A){mapax+=6; mapax2+=6;disparar=false; golpear=false; cortar=false; correr=true;} if(e.getKeyCode()==KeyEvent.VK_T){cortar=true;disparar=false; golpear=false; correr=false;} if(e.getKeyCode()==KeyEvent.VK_SPACE){disparar=true; golpear=false; cortar=false; correr=false;} } public void keyTyped (KeyEvent e2){ if(e2.getKeyCode()==KeyEvent.VK_D){correr=false; disparar=false; cortar=false; golpear=false;} if(e2.getKeyCode()==KeyEvent.VK_A){correr=false; disparar=false; cortar=false; golpear=false;} } }); } }
|
|
|
|
|
|
|