Enunciado 1
Dado un arreglo unidimensional de tamaño N, encuentre la moda. Es decir, el valor que se presenta más número de veces entre sus elementos. Imprima el vector y el valor que más se repite.
import javax.swing.*;
public class modaVectorial{
public static void main(String args[]){
String tamaño,dato,salidaV="Vector\n",repetido = "\nNúmero que más se repite ",veces = "\nNúmero de veces que se repite ";
int magnitud,valor,repetidoA,veces_repetidoA,repetidoB,veces_repetidoB,i,p,k=2,iguales=0;
JTextArea areaSalida = new JTextArea();
tamaño = JOptionPane.showInputDialog("Ingrese el tamaño del vector");
magnitud = Integer.parseInt(tamaño);
int A[] = new int[magnitud];
for(i=0;i<=magnitud-1;i++){//Llenar el vector con datos proporcionados por el usuario
dato = JOptionPane.showInputDialog("Ingrese el valor para la posición" + (i+1));
valor = Integer.parseInt(dato);
A[i] = valor;
salidaV += valor + ", ";
}
p=0;
repetidoA = A[p];//Asume que el primer valor del vector es el que está repetido
veces_repetidoA = 1;
for(i=1;i<=magnitud-1;i++){//Busca y cuenta las veces que se encuentra repetido el elemento de la posición 1
if(repetidoA == A[i]){
veces_repetidoA ++;
}
}
p=1;
while(p<=magnitud-1){//Se asegura de no desbordarse del vector
repetidoB = A[p];//Asume que el primer valor del vector es el que está repetido
veces_repetidoB = 1;
for(i=p+1;i<=magnitud-1;i++){//Busca y cuenta las veces que se encuentra repetido el elemento de las demás posiciones
if(repetidoB == A[i]){
veces_repetidoB ++;
}
}
if(veces_repetidoA < veces_repetidoB){
repetidoA = repetidoB;
veces_repetidoA = veces_repetidoB;
iguales = 0;
}
else if(veces_repetidoA == veces_repetidoB){
iguales = 1;
}
p++;
}
if (veces_repetidoA == 1 || iguales != 0){
//JOptionPane.showMessageDialog(null,"ningún número se repite más que los demás\n" + );
areaSalida.setText(salidaV);
areaSalida.append("\nningún número se repite más que los demás");
JOptionPane.showMessageDialog(null,areaSalida);
}
else{
repetido += repetidoA;
veces += veces_repetidoA;
areaSalida.setText(salidaV);
areaSalida.append(repetido);
areaSalida.append(veces);
JOptionPane.showMessageDialog(null,areaSalida);
}
}
}
Enunciado 2
Elabore una aplicación que forme una matriz de orden NxM y la llene de datos enteros, (toda esta información la proporciona el usuario), a continuación obtenga e imprima:
a. Suma de cada fila impar
b. Número de valores iguales a cero
import javax.swing.*;
public class sumaFilasImpares{
public static void main(String args[]){
String M,N,dato,matrizA = "Matriz A\n",vectorB = "Suma de cada fila impar:\n",igualesCero = "\nCantidad de ceros\n";
int filas,columnas,valor,i,j,valoresCero = 0;
M = JOptionPane.showInputDialog(null,"Ingrese el número de filas");
N = JOptionPane.showInputDialog(null,"Ingrese el número de columnas");
filas = Integer.parseInt(M);
columnas = Integer.parseInt(N);
int A[][] = new int [filas][columnas];
int B[] = new int[filas];
for(i=0;i<=filas-1;i++){
for(j=0;j<=columnas-1;j++){
dato = JOptionPane.showInputDialog(null,"Ingrese el valor para la posición [" + (i+1) + "]" + "[" + (j+1) + "]");
valor = Integer.parseInt(dato);
A[i][j]= valor;//Llenar la matriz
if(i%2 != 0){//Comprobar si la fila actual es impar
B[i] += valor;
}
if(valor == 0){//Comprobar si el valor actual es 0
valoresCero ++;
}
matrizA += valor + "\t";
}
matrizA += "\n";
vectorB += "[" + i + "] " + B[i] + "\n";
}
igualesCero += valoresCero;
JTextArea areaSalida = new JTextArea();
areaSalida.setText(matrizA);
areaSalida.append(vectorB);
areaSalida.append(igualesCero);
JOptionPane.showMessageDialog(null,areaSalida);
}
}
Enunciado 3
Hacer una aplicación que forme un vector del que no se sabe el número de elementos (el tamaño y los datos los indica el usuario). Calcule el promedio de todos los elementos y forme dos nuevos arreglos, uno con los elementos menores o iguales al promedio y otro con los superiores. Imprima los dos nuevos arreglos
import javax.swing.*;
public class vectorPromedio{
public static void main(String args[]){
String tamaño,dato,Original="Vector original:\n",Vpromedio="\n\nValor promedio:",Vmenores = "\n\nVector con los datos menores o iguales al promedio:\n",Vmayores = "\n\nVector con los datos mayores al promedio:\n";
int magnitud,valor,i,suma=0,p=0,q=0;
double promedio;
tamaño = JOptionPane.showInputDialog("Ingrese el tamaño del vector");
magnitud = Integer.parseInt(tamaño);
int V[] = new int[magnitud];
//como no conocemos cuántos serán mayores o menores, se declaran 2 vectores de tamaño magnitud
double menores[] = new double[magnitud];
double superiores[] = new double[magnitud];
for(i=0;i<=magnitud-1;i++){
dato = JOptionPane.showInputDialog("Ingrese valor para la posición " + "[" + i + "]");
valor = Integer.parseInt(dato);
V[i] = valor;
suma += valor;
Original += valor + "\t";//Ingresar cada dato al String de salida (para imprimir)
}
promedio = suma/magnitud;
Vpromedio += promedio + "\n";
for(i=0;i<=magnitud-1;i++){
if(V[i] <= promedio){ //evalúa cada valor de V y lo compara con elpromedio, si es menor o igual, va llenando menores[]
menores[p] = V[i];
Vmenores += V[i] + "\t";//Ingresar cada dato al String de salida (para imprimir)
p++;
}
else{//si el valor de V no es menor que el promedio, entonces lo lleva a superiores[]
superiores[q] = V[i];
Vmayores += V[i] + "\t";//Ingresar cada dato al String de salida (para imprimir)
q++;
}
}
JTextArea areaSalida = new JTextArea();
areaSalida.setText(Original);
areaSalida.append(Vpromedio);
areaSalida.append(Vmenores);
areaSalida.append(Vmayores);
JOptionPane.showMessageDialog(null,areaSalida);
}
}
Enunciado 4
Utilice el operador módulo (%) en una aplicación que entre un arreglo unidimensional, y calcule e imprima:
El número de valores impares
El número de valores pares
import javax.swing.*;
public class ParesImpares{
public static void main(String [] args){
String tamaño, dato;
int magnitud,valor,pares=0,impares=0,i;
tamaño = JOptionPane.showInputDialog("Digite el tamaño del vector");
magnitud = Integer.parseInt(tamaño);
int V[] = new int [magnitud];
for(i=0;i<=magnitud-1;i++){
dato = JOptionPane.showInputDialog("Digite el valor para la posición [" + i + "]" );
valor = Integer.parseInt(dato);
V[i]=valor;
if(valor % 2 != 0){
impares ++;
}
else{
pares ++;
}
}
JOptionPane.showMessageDialog(null,"Cantidad de pares:" + pares + "\nCantidad de impares: " + impares);
}
}
Enunciado 5
Elabore una aplicación que forme una matriz de orden NxM y la llene de datos enteros, (toda esta información la proporciona el usuario), luego encuentre el elemento mayor y el menor, así como sus posiciones. En caso de haber datos repetidos, se toma el primer dato que encuentre.
import javax.swing.*;
public class MayorMenor{
public static void main(String args[]){
String f,c,dato;
int filas, columnas, valor, mayor=0, menor=0, i,j,fMayor = 0,cMayor = 0,fMenor = 0,cMenor = 0;
f=JOptionPane.showInputDialog("Digite el número de filas para la matriz");
c=JOptionPane.showInputDialog("Digite el número de columnas para la matriz");
filas = Integer.parseInt(f);
columnas = Integer.parseInt(c);
int A[][] = new int [filas][columnas];
for(i=0;i <= filas-1;i++){
for(j=0;j <= columnas-1; j++){
dato = JOptionPane.showInputDialog("Digite el dato para la posición [" + i + "][" + j + "]");
valor = Integer.parseInt(dato);
A[i][j] = valor;
if(i==0 && j==0){ //A las variables mayor y menor les asignamos el primer valor de la matriz
mayor = A[i][j];
menor = A[i][j];
}
else{//Iniciamos la comparación de mayor y menor con cada dato de la matriz
if(A[i][j] > mayor){
mayor = A[i][j];
fMayor = i;
cMayor = j;
}
else if(A[i][j] < menor){
menor = A[i][j];
fMenor = i;
cMenor = j;
}
}
}
}
JOptionPane.showMessageDialog(null,"El mayor valor es : " + mayor + " que está ubicado en la posición [" + fMayor
+ "][" + cMayor + "]" + "\nEl menor valor es : " + menor + " que está ubicado en la posición [" + fMenor
+ "][" + cMenor + "]" );
}
}
Enunciado 6
Elabore una aplicación que convierta una matriz 3x4 (llena), en un arreglo unidimensional. La conversión debe hacerse por columnas, es decir, mover la primera columna al vector, a continuación la segunda columna y así sucesivamente. Imprima ambos arreglos.
import javax.swing.*;
public class MueveColumnas{
public static void main(String args[]){
int A[][] = {{2,5,6,4},{7,8,9,3},{1,3,2,0}};
int V[] = new int[12];
int filas,columnas,k=0;
String matriz = "Matriz A:\n", vector = "Vector V:\n";
for (columnas = 0; columnas <= 3; columnas ++){
for (filas = 0; filas <= 2; filas ++){
V[k] = A[filas][columnas];
vector += A[filas][columnas]+ "\t";
}
}
for (filas = 0; filas <= 2; filas ++){
for (columnas = 0; columnas <= 3; columnas ++){
matriz += A[filas][columnas] + "\t";
}
matriz += "\n";
}
JTextArea areaSalida = new JTextArea();
areaSalida.setText(matriz);
areaSalida.append(vector);
JOptionPane.showMessageDialog(null,areaSalida);
}
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario