You are on page 1of 16

TECNICAS DE PROGRAMACIÓN II

Ed. 03
JAVA
Codificado por sAfOrAs

Compilado con javac (jdk) y gcj(Sobre Linux)


1)
public class SyGSucesiones
{
sstatic int a[] = new int[100];

static void llenarArreglo()


{

for(int i=0;i<a.length;i++)
{
a[i]=(i+1);
}
}

static void arregloSucesivo()


{
int b=0;
for(int i=0;i<a.length;i++)
{
a[i]=b+a[i];
b=a[i];
}
}

static void imprimirArreglo()


{
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
S

System.out.println("");
}

public static void main(String[] args)


{
llenarArreglo();
arregloSucesivo();
imprimirArreglo();
}
}
2)
public class SyGArrayDeFactorial{
static double arreglo[] = new double[25];

static void llenaArreglo(){

for(int i=0;i<arreglo.length;i++){
arreglo[i]=factorial(i);
}
}

static double factorial(int num){


double factorial=0;

if(num==0)
factorial=1;
else if(num<0)
System.out.println("no existe");
else if(num>0)
for(factorial=num;num>1;num--)
factorial*=(num-1);
return factorial;
}

static void imprimeArreglo(){


for(int i=0;i<arreglo.length;i++)
System.out.println(arreglo[i]+" ");
System.out.println("");
}

public static void main(String[] args){


llenaArreglo();
imprimeArreglo();
}
}
3)
public class SyGMoverParesImpares
{
static int MAX=100;
static int A[]=new int[MAX];
static int B[]=new int[MAX];
static int C[]=new int[MAX];
sstatic int x=0,y=0;

static void llenaArreglo()


{
for(int i=0;i<A.length;i++)
{
A[i]=(int)(Math.random()*100+1);
separa(A[i]);
}
}

static void imprimeArreglo()


{
for(int i=0;i<A.length;i++)
{
System.out.print("\t Todos ["+i+"] : "+A[i]);
System.out.println("");
}
S
System.out.print("\n----------------------------------------------\n");

for(int i=0;i<x;i++)
{
System.out.print("\t Par ["+i+"] : "+B[i]);
System.out.println("");
}
S
System.out.print("\n----------------------------------------------\n");

for(int i=0;i<y;i++)
{
System.out.print("\t Impar ["+i+"] : "+C[i]);
System.out.println("");
}
}

static void separa(int n)


{
if(n%2==0)
{
B[x]=n; x++; ordenar(n,x);
}
else
{
C[y]=n;
y++;
ordenar(n,y);
}
}

static void ordenar(int n,int tam)


{
int temp=0;
if(tam>=2)
{
if(n%2==0)
{
for(int i=1;i<tam;i++)
{
for(int j=0;j<tam-i;j++)
{
if(B[j]>B[j+1])
{
temp=B[j];
B[j]=B[j+1];
B[j+1]=temp;
}
}
}
}
else
{
for(int i=1;i<tam;i++)
{
for(int j=0;j<tam-i;j++)
{
if(C[j]>C[j+1])
{
temp=C[j];
C[j]=C[j+1];
C[j+1]=temp;
}
}
}
}
}
}

public static void main(String[] args)


{
llenaArreglo();
imprimeArreglo();
}
}
4)
public class SyGSumaArray
{
static int f = 4;
static int c = 5;
static int [][]arreglo=new int[f][c];
static int positiv=0;
static int negativ=0;
static void llenaArreglo(){
for(int i=0;i<arreglo.length;i++)
for(int j=0;j<arreglo.length;j++)
arreglo[i][j]=(int)(Math.random()*-50+1);
}

sstatic void sumaDeElementos(){

for(int i=0;i<f;i++){
ffor(int j=0;j<c;j++){
if(arreglo[i][j]>=0)
positiv++;
else
negativ++;
}
}
}

static void imprime(){


for(int i=0;i<f;i++){
for(int j=0;j<c;j++){
System.out.print("["+i+"]["+j+"] : "+arreglo[i][j]);
System.out.println("");
}
}
}

static void mostrarElementos(){


System.out.println("Positivos: "+positiv);
System.out.println("Negativos: "+negativ);
System.out.println("Total: "+(negativ+positiv));
}

public static void main(String[] args){


llenaArreglo();
imprime();
sumaDeElementos();
mostrarElementos();
}

}
5)
public class SyGRellenaArray5
{

static int a1[][]=new int[10][10];


static int a=1;
static void rellenaraleatorios()
{
for(int i=0;i<a1.length;i++)
{
ffor(int j=0;j<a1.length;j++)
{
a1[i][j]=a;
a++;
}
}
}

static void imprimir()


{
for(int i=0;i<a1.length;i++)
{
ffor(int j=0;j<a1.length;j++)
{
System.out.print(a1[i][j]+"\t");
if(a1[i][j]%10==0 && a1[i][j]!=0)
System.out.println("");
}
}
}

public static void main(String[] args)


{
rellenaraleatorios();
imprimir();
System.out.println("");
}
}
6)
public class SyGRellenaArray6
{

static int a1[][]=new int[10][10];


static int a=0,j=0,b=1;
static void rellenaraleatorios()
{
for(int i=0;i<a1.length;i++)
{
f
for(j=0;j<a1.length;j++)
{
a1[i][j]=a+b;
a=a+b;
}
b++;
a=0;
}
}

static void imprimir()


{
for(int i=0;i<a1.length;i++)
{
ffor(int j=0;j<a1.length;j++)
{
System.out.print(a1[i][j]+"\t");
if(j!=0 && j%9==0)
System.out.println(" ");
S
}
}
}

public static void main(String[] args)


{
rellenaraleatorios();
imprimir();
System.out.println("");
}
}
7)
public class SyGOrdenaArrayParImpar
{
sstatic int [][]arreglo=new int[2][5];

static int x=0,y=0,z=0;


static void llenaArreglo()
{
for(int i=0;i<arreglo.length;i++)
{
for(int j=0;j<arreglo[i].length;j++)
{
z=(int)(Math.random()*100+1);
if(z%2==0)
{
arreglo[0][j]=z;
x++;
}
else
{
arreglo[1][j]=z;
y++;
}
}
}
}

static void imprime()


{
System.out.println("Superior - Pares");
for(int i=0;i<arreglo.length;i++)
{
for(int j=0;j<arreglo[i].length;j++)
{
System.out.print("Arreglo["+i+"]["+j+"] : "+arreglo[i][j]);
System.out.println("");
}
i
if(i<arreglo.length-1)
System.out.println("Inferior - Impares");
S
}

public static void main(String[] args)


{
llenaArreglo();
imprime();
}

}
8)
public class SyGContarElementosRepetidos{
static int A=10;
static int B=20;
static int vectorA[]=new int[A];
static int vectorB[]=new int[B];
sstatic int elemA=0;
static int elemB=0;
static int z=0;
static void llenaArreglo(){
for(int i=0;i<vectorA.length;i++){
vectorA[i]=(int)(Math.random()*100+1);
}

for(int i=0;i<vectorB.length;i++){
vectorB[i]=(int)(Math.random()*100+1);
}

static void compara(){


for(int i=0;i<vectorA.length;i++){
for(int j=0;j<vectorB.length;j++){
if(vectorA[i]==vectorB[j])
elemA++;
}
System.out.println("El elemento "+vectorA[i]+" se presenta
"+elemA+" veces en B");
elemA=0;
}
}

static void imprimir(){


for(int i=0;i<vectorA.length;i++){
System.out.print("A"+"["+i+"]= "+vectorA[i]+"\n");
}
for(int i=0;i<vectorB.length;i++){
System.out.print("B"+"["+i+"]="+vectorB[i]+"\n");
}
}

public static void main(String[] args){


llenaArreglo();
imprimir();
compara();
}

}
9)
public class SyGVoltearArray
{

static int arreglo[]=new int[25];


static void rellenar(int x[])
{
ffor(int i=0;i<x.length;i++)
{
x[i]=(int)(Math.random()*100+1);
}
}

static void imprimir(int x[])


{
for(int i=0;i<x.length;i++)
{
S
System.out.println("A"+"["+i+"]="+x[i]+"\t");

}
S
System.out.println(">>>>>>>>>>>>>>>");

static void invertir(int arreglo[])


{
int ar1=0,ar2=0;
for(int i=0;i<arreglo.length/2;i++){
ar1=arreglo[i];ar2=arreglo[arreglo.length-1-i];
arreglo[arreglo.length-i-1]=ar1;arreglo[i]=ar2;
}
}

public static void main(String[] datos)


{
rellenar(arreglo);
imprimir(arreglo);
invertir(arreglo);
imprimir(arreglo);
}
}
10)
import java.util.StringTokenizer;

public class SyGELiminaCaracteresNulos{

static void eliminaEspacio(String sTexto, String sCadenaSinBlancos){

for (int x=0; x < sTexto.length(); x++) {


if (sTexto.charAt(x) != ' ')
sCadenaSinBlancos += sTexto.charAt(x);
}

sCadenaSinBlancos = "";

StringTokenizer stTexto = new StringTokenizer(sTexto);

while (stTexto.hasMoreElements())
sCadenaSinBlancos += stTexto.nextElement();

System.out.println(sCadenaSinBlancos);
}

public static void main(String[] args){

String sTexto = "1 2 3 4 5 6 7 8 9 10";


System.out.println(sTexto);
String sCadenaSinBlancos = "";

eliminaEspacio(sTexto,sCadenaSinBlancos);
}

}
11)
public class SyGEliminaElementosRepetidos{
public static void main(String[] args)
{
SyGELiminaCaracteresNulos cadena= new SyGELiminaCaracteresNulos();
char[] arraycar={'p','a','j','a','r','r','a','c','o'};
String sCadenaSinBlancos="";
System.out.println(arraycar);

for(int i=0;i<arraycar.length;i++){
for(int j=0;j<arraycar.length-1;j++){
if(i!=j){
if(arraycar[i]==arraycar[j]){
arraycar[j]=' ';
}
}
}
}

String s = new String(arraycar);


cadena.eliminaEspacio(s,sCadenaSinBlancos);
}

}
12)
public class SyGFusionarVectores
{
static int MAX=20;
static int MAX2=MAX*2;
static int A[]=new int[MAX];
static int B[]=new int[MAX];
static int C[]=new int[MAX2];

static void llenaArreglo(int arreglo[])


{
for(int i=0;i<arreglo.length;i++)
{
int ban;
do{
arreglo[i]=(int)(Math.random()*100+1);
ban=noDuplicar(arreglo,arreglo[i],i);
}while(ban==1);
}
}

static int noDuplicar(int arreglo[], int numero, int longitud)


{
int ban=0;
for(int i=0;i<longitud;i++)
{
if(numero==arreglo[i])
{ban=1;break;}
else
ban=0;
}
return ban;
}

static void ordenar(int arreglo[])


{
int temp=0;
for(int i=1;i<arreglo.length;i++)
{
for(int j=0;j<arreglo.length-i;j++)
{
if(arreglo[j]>arreglo[j+1])
{
temp=arreglo[j];
arreglo[j]=arreglo[j+1];
arreglo[j+1]=temp;
}
}
}
}

static void juntarArreglos()


{

int j=0,ban=0,cant=0,k=0,m=0,v=1;
for(int i=0;i<C.length;i++)
{
C[i]=A[j];
ban=noDuplicar(C, C[i], i);
C[i+1]=B[j];
ban=noDuplicar(C, C[i+1], (i+1));

i++;
j++;
}
ordenar(C);
cant=(C.length);
for(int i=0;i<cant-1;i++)
{
if(C[i]==C[i+1])
{ k=i; m++;}

for(int l=k;l<cant-1;l++)
{
C[l]=C[l+1];
}
}

while(C[cant-v]==C[cant-v-1])
{
C[MAX2-v]=0;
v++;
}
}

static void mostrar(int arreglo[],String n)


{
for(int i=0;i<arreglo.length;i++)
{
System.out.print(n+"["+i+"] : "+arreglo[i]);
System.out.println("");
}
System.out.print("\n");
}

public static void main(String[] args)


{

llenaArreglo(A);
llenaArreglo(B);
ordenar(A);
ordenar(B);
mostrar(A,"A");
mostrar(B,"B");
juntarArreglos();
mostrar(C,"C");
}
}

You might also like