Convertir números a números romanos [Resuelto/Cerrado]

laucard05@live.com.mx - 30 sep 2009 a las 18:30 - Última respuesta:  acsaochoa
- 4 ago 2017 a las 21:48
Hola,
pues yo tengo un problema grave y ojala y me puedan ayudar
TENGO QUE ACER UN PROGRAMA EN VISUAL BASIC EN EL QUE TENGO QUE COMBERTIR NUMEROS A NUMEROS ROMANOS PR NO PUEDO YA INTENTE MUCHAS COSAS PR NO E CONSEGUIDO NADA
Y ES MI TRABAJO PARA PODER PASAR EL PROGRAMA PR ESO NO ES LO MAS GRABE SI NO QUE NOS TIENEN QUE PREGUNTAR DE QUE SE TRATA COMO ESTA COMPLEMENTADO.

AGRADECIENDOLE A BER LEIDO ESTE MANSEJA Y ESPERANDO UNA PRONTA RESPUESTA ME DESPIDO
Ver más 

48 respuestas

+129
Vota
11
1.-LeER un numero menor a 4000 y conviértalo a numero romano
¿Te sirvió esta respuesta?  
si no lo ivas a explicar uvieras puesto el programa completo para entenderlo mejor.
me parece exeleente
¿que weyada es esta?D: :c
En castellano porfavor*-* >:c.
quien me puede ayudar a escribir los numeros romanos
Hola alguien me podria ayudar hacer un diagrama de flujo que convierta un Decimal a Romano Me urge gracias
+65
Vota
15
para convertir del numeros enteros a romanos creamos una funcion utilizando seleccion de casos la cual utilizaremos luego dentro del codigo en la zona del button ....

Public Class Form1
Public Function Num2Text(ByVal value As Double) As String

value = Int(value)

Select Case value

Case 1 : Num2Text = "I"

Case 2 : Num2Text = "II"

Case 3 : Num2Text = "III"

Case 4 : Num2Text = "IV"

Case 5 : Num2Text = "V"

Case 6 : Num2Text = "VI"

Case 7 : Num2Text = "VII"

Case 8 : Num2Text = "VIII"

Case 9 : Num2Text = "lX"

Case 10 : Num2Text = "X"

Case 11 : Num2Text = "XI"

Case 12 : Num2Text = "XII"

Case 13 : Num2Text = "XIII"

Case 14 : Num2Text = "XIV"

Case 15 : Num2Text = "XV"

Case Is < 20 : Num2Text = "X" & Num2Text(value - 10)

Case 20 : Num2Text = "XX"

Case Is < 30 : Num2Text = "XX" & Num2Text(value - 20)

Case 30 : Num2Text = "XXX"

Case 40 : Num2Text = "XI"

Case 50 : Num2Text = "L"

Case 60 : Num2Text = "LX"

Case 70 : Num2Text = "LXX"

Case 80 : Num2Text = "LXXX"

Case 90 : Num2Text = "XC"

Case Is < 100 : Num2Text = Num2Text(Int(value \ 10) * 10) & "" & Num2Text(value Mod 10)

Case 100 : Num2Text = "C"

Case Is < 200 : Num2Text = "C" & Num2Text(value - 100)

Case 200, 300, 400, 600, 800 : Num2Text = Num2Text(Int(value \ 100)) & "C"

Case 500 : Num2Text = "D"

Case 700 : Num2Text = "DCC"

Case 900 : Num2Text = "CM"

Case Is < 1000 : Num2Text = Num2Text(Int(value \ 100) * 100) & " " & Num2Text(value Mod 100)

Case 1000 : Num2Text = "M"

Case Is < 2000 : Num2Text = "M" & Num2Text(value Mod 1000)

Case Is < 1000000 : Num2Text = Num2Text(Int(value \ 1000)) & " M"

If value Mod 1000 Then Num2Text = Num2Text & " " & Num2Text(value Mod 1000)



End Select



If value = 1 Then

Txtmonl.Text = Num2Text



Else

txtmonl.Text = Num2Text

End If

End Function

'PROGRAMANDO EN LA ZONA DEL BUTTO EN EL EVENTO CLICK

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sValor As String

Dim i, r As Single

sValor = txtmon.Text

txtmon.Text = Val(Replace(sValor, ",", "."))

i = Int(Val(txtmon.Text))

r = CInt((txtmon.Text - i) * 100)

Num2Text(Val(txtmon.Text))

If r > 0 Then

Txtmonl.Text = Txtmonl.Text & " CON " + Num2Text(r)

End If

txtmon.Text = Format(txtmon.Text, )


End Sub
hola... me lo pasas a numero natural CDLXXIX
HOLA...me lo pasas a numero natural CDLXXIX
alguien me lo pasa a numero normal MDCCXLIX es para hoy
amigos me pueden pasar este num en normal CMXLVIII
caro la loca - 18 jul 2010 a las 21:20
+23
Vota
mira pds acer esto escribes los numero que necesitas y haces esto.......=NUMERO.ROMANO(A1:A2)
lo de a 1 a 2 es depende digamos haces del 1 al 5 y haces a1 a5....y es en mayuscula
+18
Vota
nesecito crear unprograma en pseint el cual que comvierta un num postivo a romano me podrias ayudar
+16
Vota
1
Mira es muy sencillo solo tienes que poner en tu cuaderno una lista del 1 al 10 luego inventas el numero que quieras y lo combites a numero romano por ejemplo:

01:1245=mccxlv

espero que te sirva!
fijate q no me sirvio eso lo ise y me terminaron reprovando y me regañaron q de don de lo saq
Ruben Alejandro - 10 ene 2012 a las 01:12
+16
Vota
3
public class ClaseConvertir {

public String convertirRomano(int num) {
String romano = "";
int[] numeros = {1000, 500, 100, 50, 10, 5, 1};
String[] letras = {"M", "D", "C", "L", "X", "V", "I"};
for (int i = 0; num >= 1; i++) {
int x = num / numeros[i];
if (x < 4) {
for (int j = 0; j < x; j++) {
romano += letras[i];
}
} else {
for (int j = 0; j < 5 - x; j++) {
romano += letras[i];
}
romano += letras[i - 1];
}
num -= x * numeros[i];
}
return romano;
}
}
maestro!!!! espectacular tu codigo
Gracias lo voy a probar amigo me salvaste un examen que tengo que hacer. Voy tratar de interpretar tu codigo luego para que no digan que es puro copy paste :D igual muchas gracias a ti por compartirlo
este progama es mas aburrido que mirar una cabra comer queso
+14
Vota
1
YO TENGO LA RESPUESTA: YA DEJA MORIR LA MATERIA DE ALGORITMO. NO LE HAGAS AL CUENTO PELANA.
seeeeeeeee!!!!
+13
Vota
Aqui les traigo la ayuda muchachos : leanlo bien y aganlo compilar en el programa Dv-C++


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{


int x,a,b,c,d,e,f;
cout<<"Ingrese un numero entre 1000 a 2000"<<endl;
cin>>x;

a=x/1000;
b=x%1000;
c=b/100;
d=b%100;
e=d/10;
f=d%10;

if(x>=1000 && x<=2000)
{

switch(a)
{
case 1:
cout<<"M";
break;
}
switch(c)
{
case 1:
cout<<"C";
break;
case 2:
cout<<"CC";
break;
case 3:
cout<<"CCC";
break;
case 4:
cout<<"CD";
break;
case 5:
cout<<"D";
break;
case 6:
cout<<"DC";
break;
case 7:
cout<<"DCC";
break;
case 8:
cout<<"DCCC";
break;
case 9:
cout<<"CM";
break;
}
switch(e)
{
case 1:
cout<<"X";
break;
case 2:
cout<<"XX";
break;
case 3:
cout<<"XXX";
break;
case 4:
cout<<"XL";
break;
case 5:
cout<<"L";
break;
case 6:
cout<<"LX";
break;
case 7:
cout<<"LXX";
break;
case 8:
cout<<"LXXX";
break;
case 9:
cout<<"XC";
}
switch (f)
{
case 1:
cout<<"I";
break;
case 2:
cout<<"II";
break;
case 3:
cout<<"III";
break;
case 4:
cout<<"IV";
break;
case 5:
cout<<"V";
break;
case 6:
cout<<"VI";
break;
case 7:
cout<<"VII";
break;
case 8:
cout<<"VIII";
break;
case 9:
cout<<"IX";
break;
}
}



system("PAUSE");
return EXIT_SUCCESS;
}
+12
Vota
Estooooo, ¿y un corrector ortográfico, no tendrás verdad?, por que es imposible escribir con tantas faltas en tan poco espacio........y no es excusa el decir "no se"....tienes unos correctores fantasticos y gratuitos en la red
+12
Vota
como hace una convercion de numeros naturales a numeros romanos
+8
Vota
ANIS YO TAMPOCO SE SORRY
+7
Vota
1
aque es Igual Txtmonl.Text..? que es..?
que significa Txtmonl.Text

y Num2
+7
Vota
algien me podria explicar como hacerlo con neat beans necesito hacerlo q me cambie numeros arabigos a numeros romanos
+5
Vota
en c# como lo aria
amigo
+3
Vota
no hay nadaaaaaaaaaaaaa