Adsence

Mostrando entradas con la etiqueta Mismo Problema. Mostrar todas las entradas
Mostrando entradas con la etiqueta Mismo Problema. Mostrar todas las entradas

martes, 27 de agosto de 2013

De romano a Decimal

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghPzOgWdijmHFqZjwVwkCAYWnsdXIy7W1Nw8jM5Kq5r9g7p9SuycocCn9RXppK1U-PTLCIOwg3pRaRHJtJmKs1HqPnCpklzfwdlxFvDYmHQiruaR0z7dYXTQZuR8tf4sbtxDQXb8ABdC6Y/s640/de%2520Romano%2520a%2520Decimal%2520en%2520VBpng.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjF8KRWGpE1L7xFqTXKD097OaxvZfml-1Gyeb9qCSnZN49SQbud1DjNxEq7B1TEHFo1sMUePGzGKIKkP1rGdLnFtylv98rpXgX-QeteynExKbTwNL8-N1Wr8Q5xfA3TGWnxokAwjWuuWwk/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C%2523.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXZATTSYI71VwT4d2-MOnhqcxLenB4HZ6RDMP-IPUERGeFnrio24XVQ6ADULriUlJruAJsa15w6lmMSXsgeGFnXgteJvCW3D-Kb2H2PufZC96aeXnVYzsW9KNcJLTwuwRcvaf0Nb0GHz5c/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C%252B%252B.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh259YuZwoDYV_lJMIdgbjefm2M2sWjq0KdIWwZKKnWJVIu4ar_gJ6hcaqz-_M8F-oPBayRru_joZDJ61dky-RF5u8VNnfQmxrblqYsK-Dk7hHm7mDYKK2Km1h9_uVHxQ4tKm_3MzTxY1M/s640/de%2520Romano%2520a%2520Decimal%2520en%2520C.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFmQFwEznEhJI73_bXkRH6eng_QThCGSSyc_Eojy_w_wGpwd5eLlNTRYRyVxGIl3eONbfhlFedriLGdMaQB9FxHfT2abe8zDauIqMrpxG7qSdE9rUMfU-E2_gzOKLCbVeUGXt5ss_EDyiR/s640/de%2520Romano%2520a%2520Decimal%2520en%2520Java.png"] [/sliderresp] [/slide_resp]

Este programa consiste en que dado un numero romano (escrito todo en mayuscula, como XIV), le devuelva el valor en el sistema decimal.

 

El programa fue testeado con los siguientes ejemplos:

VI = 6;    XXI = 21;    LXVII = 67

IV = 4;    IX = 9;    XL = 40;    XC = 90;    CD = 400;    CM = 900

XIII = 13;    XIV = 14;    XXXIII = 33;    XXXIV = 34

XIX = 19;    LIV = 54;    CXXIX = 129

 

Espero les sirva, y lo compartan con sus amigos :S

icn-C++

[codesyntax lang="cpp"]
#include<iostream>
using namespace std;
int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

void convertir(char r[],int n)
{
int nume[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r[i]);
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

cout<<"El numero es : "<<s;
};

int main()
{
int lon;
cout<<"Cantidad Letras: ";
cin>>lon;
char romano[lon];
cout<<"Numero Romano: ";
cin>>romano;
convertir(romano,lon);
return 0;
}

[/codesyntax]

 

icn-VB

[codesyntax lang="vb"]
Module Module1

Sub Main()
Dim romano As String
Console.WriteLine("Numero Romano:")
romano = Console.ReadLine()
convertir(romano, romano.Length )
Console.ReadLine()

End Sub
Function saber(ByVal n As Char) As Integer
Dim nv As Integer
Select Case n
Case "I"
nv = 1
Case "V"
nv = 5
Case "X"
nv = 10
Case "L"
nv = 50
Case "C"
nv = 100
Case "D"
nv = 500
Case "M"
nv = 1000
Case Else
nv = 0
End Select
Return nv
End Function

Function convertir(ByVal r As String, ByVal n As Integer)
Dim nume(n) As Integer
Dim s, sig, act As Integer
s = sig = act = 0

For i = 0 To n - 1
nume(i) = saber(r.ElementAt(i))
Next
If (n Mod 2) = 0 Then
For i = 0 To n - 1 Step 2
act = nume(i)
sig = nume(i + 1)
If act >= sig Then
s = s + (act + sig)
Else
s = s + (sig - act)
End If

Next
Else
For i = (n - 1) To 1 Step -2
act = nume(i)
sig = nume(i - 1)
If act > sig Then
s = s + (act - sig)
Else
s = s + (sig + act)
End If
Next
act = nume(0)
s = s + act

End If
Console.WriteLine("El numero es: " & s)
End Function

End Module

[/codesyntax]

 

icn-Java

[codesyntax lang="java"]
	import java.util.Scanner;
/**
* @(#)deRomanoADecimal.java
*
*
* @author Jorge Moreno
* @version 1.00 2013/8/27
*/

public class deRomanoADecimal {

static int saber(char n)
{
int nv=0;

switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

static void convertir(String r,int n)
{
int nume[]=new int [n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r.charAt(i));
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

System.out.println("El numero es : "+s);
};

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner leer=new Scanner(System.in);
System.out.print("Numero Romano: ");
String romano=leer.next();
convertir(romano,romano.length());
// TODO code application logic here
}
}

[/codesyntax]

icn-C

[codesyntax lang="c"]
#include <stdio.h>
#include <conio.h>
int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

void convertir(char r[],int n)
{
int nume[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r[i]);
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

printf("El numero es : %d",s);
};

main()
{
int n=1;
while(n!=0){
printf("nDigite el numero a de caracteres que tiene el numero romano,para salir 0:");
scanf("%d",&n);
char rom[n];
printf("Digite el numero Romano:");
scanf("%s",&rom);
convertir(rom,n);
};
printf("njamper91.hostei.com");
getch();
return 0;
}

[/codesyntax]

icn-C#

[codesyntax lang="csharp"]
    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace deRomanoADecimalCS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Numero Romano: ");
String romano = Console.ReadLine();
convertir(romano, romano.Length);
Console.ReadLine();
}
static int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
}

static void convertir(String r,int n)
{
int []nume=new int[n];
int s=0,sig=0,act;
//Paso XXIV a 10,10,1,5
for(int i=0;i<n;i++)
{
nume[i]=saber(r.ElementAt(i));
}
if(n%2==0)
{
for(int i=0;i<n;i=i+2)
{
act=nume[i];
sig=nume[i+1];
if(act>=sig)
s=s+(act+sig);
else
s=s+(sig-act);
}
}else{
for(int i=n-1;i>0;i=i-2)
{
act=nume[i];
sig=nume[i-1];
if(act>sig)
s=s+(act-sig);
else
s=s+(sig+act);
}

act=nume[0];
s=s+act;
}

Console.WriteLine("El numero es : " +s);
}
}
}

[/codesyntax]
Read More...

Determinar si dos números son Primos

Leave a Comment
[slide_resp][sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6vv5qjLZ4pYwFAQw1MLyepzYy_NhtC8V_j6VKjbcypKvgoVZdtW-VOO4AC4ZfVwnvo_ZmWwWvr_DrzOOaYVppJSA9AHrlBk9fmID3gls6eouJMnCotUKzPizhnA8KxgYyUZw-3c-9AER/s640/java.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQSSaRcny2povTmZe73UbFuoRtjhu_A5wFreapX0_J58yCVA8R0oxar5omp-r7XSqZMnugzew_vzaKdzQ8XxBVGpoHi8Ug3NsT1hFiYk3pxmSvADVHlAJMQeVilkxhXdYqj3S90p01hImN/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C%2523.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqeulucW8F0YSYBc_-SaUTJXF2ZmqhnXvFRKOMYA3mGUiYhlyq-ZC12yJ4SUsqcHQVogfJRstXY4P_FAk6AM8_I_LpSiHO3lGPp8rxOWx4muuZiiKS7hFnKtmlw2N0zuxU3l5tuvXZ3upB/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C%252B%252B.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKpCoKo1Snl5fW-9HbLXf8xnkYkTwdjBdkTtYQqITBIXHL32vWecnzcyTQou6CCrT53fPV-Nd4CXTpeRdS3gdnLEITiSvBER3jDlGtuXe4iek8xwgIctbfScC2xybhqFvZggdeLtaEKey5/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520C.png"] [/sliderresp] [sliderresp image="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQwU2ThyaVbemC8iKaIypiHvv3Hn741lPZnbf5CsVjitYmYCE9cKpWF-KurdZDdFbL6xIwK85vsfMYepoo9CBQ-IHUUcjLNl5xDVyvihXX-E5TrTTC145JjkFv06tJCvuWtkZazvLiKkjg/s640/determinar%2520si%2520dos%2520numeros%2520son%2520primos%2520VB.png"] [/sliderresp] [/slide_resp]

 

Este programa permite que se dijiten dos numeros por separados, y determinar si los dos (juntos) son un numero primo, ejemplo:

Digite numero: 1

Digite numero: 2

12

No es primo

icn-C

[codesyntax lang="c"]
#include<stdio.h>
#include<conio.h>
void portada();
void final();
bool esPrimo(int n)
{
for(int i=2;i<n;i++)
{
if(n%2==0)
return false;
}
return true;
}
main()
{
portada();
int num1,num2,num;
printf("Digite numero: ");
scanf("%d",&num1);
printf("Digite numero: ");
scanf("%d",&num2);
num=(num1*10)+num2;
if(esPrimo(num))
printf("Es primo!!n");
else
printf("No es primo!!n");
final();
getch();
return 0;
}

void portada(){
printf("...............................................................................an");
printf("................******.*****.** **.*****.****.*****.*****..**................an");
printf("................ ** .** **.*** ***.** **.** .** **.**.**.***................an");
printf("................ ** .*****.*******.*****.****.*****.*****..**................an");
printf("................ ** .** **.** * **.** .** .*** ....**..**................an");
printf("................**** .** **.** **.** .****.** **....**.****...............an");
printf("..............................jamper91.hostei.com............................an");
printf("n");
};
void final(){
printf("-------------------------------------------------------------------------------an");
printf ("******************************************************************************an");
printf (" Creado por jamper91@hotmail.comn");
printf (" Cucuta Campeonn");
printf ("******************************************************************************an");
printf("-------------------------------------------------------------------------------an");
};

[/codesyntax]

icn-C++

[codesyntax lang="cpp"]
/*
Que digite una serie de numeros y averiguar que si el anterior y el actual son primos, ejemplo:
digite numero: 4
digite numero: 7
47 es primo
digite numero:3
73 no es primo y asi

*/
#include<iostream>
using namespace std;
void portada();
void final();
bool esPrimo(int n)
{
for(int i=2;i<n;i++)
{
if(n%i==0)
return false;

}
return true;
}
int main()
{
portada();
int num1,num2,num;
cout<<"Digite numero: ";
cin>>num1;
cout<<"Digite numero: ";
cin>>num2;
num=(num1*10)+num2;
if(esPrimo(num))
cout<<"Es primo !!n";
else
cout<<"No es primo !!n";
final();
return 0;

}

void portada(){
cout<<("...............................................................................an");
cout<<("................******.*****.** **.*****.****.*****.*****..**................an");
cout<<("................ ** .** **.*** ***.** **.** .** **.**.**.***................an");
cout<<("................ ** .*****.*******.*****.****.*****.*****..**................an");
cout<<("................ ** .** **.** * **.** .** .*** ....**..**................an");
cout<<("................**** .** **.** **.** .****.** **....**.****...............an");
cout<<("...............................jamper91.hostei.com.............................an");
cout<<("n");
};
void final(){
cout<<("n-------------------------------------------------------------------------------an");
cout<< ("******************************************************************************an");
cout<< (" Creado por jamper91@hotmail.comn");
cout<< (" Cucuta Campeonn");
cout<< ("******************************************************************************an");
cout<<("-------------------------------------------------------------------------------an");
};

[/codesyntax]

icn-VB

[codesyntax lang="vb"]
Module Module1

Sub Main()
Dim num1, num2, num As Integer
Console.WriteLine("Digite numero:")
num1 = Integer.Parse(Console.ReadLine())
Console.WriteLine("Digite numero:")
num2 = Integer.Parse(Console.ReadLine())
num = (num1 * 10) + num2
If (esPrimo(num) = True) Then
Console.WriteLine("Es primo!!")
Else
Console.WriteLine("No es primo")

End If
Console.ReadLine()

End Sub

Function esPrimo(ByVal num As Integer) As Boolean
For i As Integer = 2 To num - 1 Step 1
Dim res As Integer
res = num Mod i
If (res = 0) Then
Return False
End If
Next
Return True

End Function

End Module

[/codesyntax]

icn-Java

[codesyntax lang="java"]
/**
* @(#)leerNumeros.java
*
*
* @author Jorge Moreno
* @version 1.00 2013/8/27
*/

/*
Que digite una serie de numeros y averiguar que si el anterior y el actual son primos, ejemplo:
digite numero: 4
digite numero: 7
47 es primo
digite numero:3
73 no es primo y asi
*/
import java.util.Scanner;
public class leerNumeros {

public leerNumeros() {
}
public static void main(String args[])
{
int num1,num2,num;
Scanner leer=new Scanner(System.in);
System.out.println("Digite numero:");
num1=leer.nextInt();
System.out.println("Digite numero:");
num2=leer.nextInt();
num=(num1*10)+num2;
if(esPrimo(num)==true)
System.out.println("Es primo!!");
else
System.out.println("No es primo!!");
}

public static boolean esPrimo(int n)
{
for (int i = 2; i<n; i++)
{
if(n%i==0)
return false;
}
return true;

}

}

[/codesyntax]

icn-C#

[codesyntax lang="csharp"]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Saber_si_dos_numeros_son_primos_CS
{
class Program
{
static void Main(string[] args)
{
portada();
int num1, num2, num;
Console.Write("Digite numero: ");
num1 = Int32.Parse(Console.ReadLine());
Console.Write("Digite numero: ");
num2 = Int32.Parse(Console.ReadLine());
num = (num1 * 10) + num2;
if (esPrimo(num))
Console.WriteLine("Es Primo!!");
else
Console.WriteLine("No es Primo!!");
final();
Console.ReadLine();
}
static bool esPrimo(int n)
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
static void portada()
{
Console.WriteLine("...............................................................................");
Console.WriteLine("................******.*****.** **.*****.****.*****.*****..**................");
Console.WriteLine("................ ** .** **.*** ***.** **.** .** **.**.**.***................");
Console.WriteLine("................ ** .*****.*******.*****.****.*****.*****..**................");
Console.WriteLine("................ ** .** **.** * **.** .** .*** ....**..**................");
Console.WriteLine("................**** .** **.** **.** .****.** **....**.****...............");
Console.WriteLine("...............................jamper91.hostei.com.............................");
Console.WriteLine("");
}
static void final()
{
Console.WriteLine("-------------------------------------------------------------------------------");
Console.WriteLine("******************************************************************************");
Console.WriteLine(" Creado por jamper91@hotmail.comn");
Console.WriteLine(" Cucuta Campeonn");
Console.WriteLine("******************************************************************************");
Console.WriteLine("-------------------------------------------------------------------------------");
}
}
}

[/codesyntax]

 
Read More...