
Ejercicios resueltos utilizando arreglos unidimensionales
(Ver Arreglos unidimensionales)
1) Hacer un programa para ingresar N elementos reales en un arreglo y reportar el mayor, el menor y el promedio.
import java.util.*;
public class Ejercicio01 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static double calcularMayor(double x[], int n){
double mayor;
mayor=x[0];
for(int i=0;i<n;i++){
if(x[i]>mayor)
mayor = x[i];
}
return mayor;
}
public static double calcularMenor(double x[], int n){
double menor;
menor=x[0];
for(int i=0;i<n;i++){
if(x[i]<menor)
menor = x[i];
}
return menor;
}
public static double calcularPromedio(double x[], int n){
double suma=0;
for(int i=0;i<n;i++)
suma = suma+x[i];
return suma/n;
}
public static void main(String[] args) {
double x[];
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
ingresarArreglo(x,n);
System.out.println(«Arreglo ingresado»);
reportarArreglo(x,n);
System.out.println(«El arreglo mayor es: » + calcularMayor(x,n));
System.out.println(«El arreglo menor es: » + calcularMenor(x,n));
System.out.println(«El promedio de los arreglos es: » + calcularPromedio(x,n));
}
}
2) Hacer un programa para ingresar N elementos reales en un arreglo y reportar el arreglo invertido.
import java.util.*;
public class Ejercicio02 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static void invertirArreglo(double x[], int n){
int i,j;
double auxiliar;
for(i=0,j=n-1;i<n/2;i++,j––){
auxiliar=x[i];
x[i] = x[j];
x[j] = auxiliar;
}
}
public static void main(String[] args) {
double x[];
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
ingresarArreglo(x,n);
System.out.println(«Arreglo ingresado»);
reportarArreglo(x,n);
invertirArreglo(x,n);
System.out.println(«Arreglo invertido»);
reportarArreglo(x,n);
}
}
3) Hacer un programa para ingresar dos arreglos de N elementos reales cada uno y reportar su producto escalar.
import java.util.*;
public class Ejercicio03 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static double calcularProductoEscalar(double x[], double y[], int n){
double suma=0;
for(int i=0;i<n;i++)
suma = suma+x[i]*y[i];
return suma;
}
public static void main(String[] args) {
double x[], y[];
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
y = new double[n];
System.out.println(«Primer arreglo»);
ingresarArreglo(x,n);
System.out.println(«Segundo arreglo»);
ingresarArreglo(y,n);
System.out.println(«El producto escalar es: » + calcularProductoEscalar(x,y,n));
}
}
4) Hacer un programa para ingresar N elementos en un arreglo y reportarlo en pantalla. Además ingresar un número y verificar si el número se encuentra en el arreglo, si se encuentra eliminarlo si no se encuentra reportar «el elemento no se encuentra en el arreglo».
import java.util.*;
public class Ejercicio04 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static int buscarElemento(double Arreglo[], int n, double elemento){
for(int i=0;i<n;i++)
if(Arreglo[i] == elemento)
return i;
return -1;
}
public static int eliminarElemento(double Arreglo[], int n, int posicion){
for(int i=posicion;i<n-1;i++)
Arreglo[i] = Arreglo[i+1];
n = n-1;
return n;
}
public static void main(String[] args) {
double x[],elemento;
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
ingresarArreglo(x,n);
System.out.println(«Arreglo ingresado»);
reportarArreglo(x,n);
System.out.print(«Ingresar elemento a eliminar: «);
elemento = entrada.nextDouble();
int posicion = buscarElemento(x,n,elemento);
if(posicion!=-1){
n = eliminarElemento(x,n,posicion);
System.out.println(«Nuevo arreglo»);
reportarArreglo(x,n);
}
else
System.out.println(«El elemento no se encuentra en el arreglo»);
}
}
5) Hacer un programa para ingresar N elementos reales en un arreglo y reportarlo en pantalla. Además reportar el arreglo ordenado de forma ascendente.
import java.util.*;
public class Ejercicio05 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static void ordenarAscendente(double Arreglo[], int n){
double auxiliar;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(Arreglo[i]>Arreglo[j]){
auxiliar = Arreglo[i];
Arreglo[i] = Arreglo[j];
Arreglo[j] = auxiliar;
}
}
public static void main(String[] args) {
double x[];
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
ingresarArreglo(x,n);
System.out.println(«Arreglo ingresado»);
reportarArreglo(x,n);
ordenarAscendente(x,n);
System.out.println(«Arreglo ordenado»);
reportarArreglo(x,n);
}
}
6) Hacer un programa para ingresar N elementos en un arreglo y reportarlo en pantalla. Además ingresar un número y la posición donde se desea insertar e insertar en el arreglo, y reportar el arreglo ingresado.
import java.util.*;
public class Ejercicio06 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static int insertarElemento(double Arreglo[], int n, double elemento, int posicion){
for(int i=n-1;i>=posicion;i––)
Arreglo[i+1] = Arreglo[i];
Arreglo[posicion] = elemento;
n = n+1;
return n;
}
public static void main(String[] args) {
double x[], elemento; int posicion;
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n+1];
ingresarArreglo(x,n);
System.out.println(«Arreglo ingresado»);
reportarArreglo(x,n);
System.out.print(«Ingresar elemento a insertar: «);
elemento = entrada.nextDouble();
do{
System.out.print(«Ingresar posicion a insertar: «);
posicion = entrada.nextInt();
}while(posicion<0 || posicion>n);
n = insertarElemento(x,n,elemento,posicion);
System.out.println(«Nuevo arreglo»);
reportarArreglo(x,n);
}
}
7) Hacer un programa para ingresar N números enteros en un arreglo y reportarlo en pantalla, y reportar la lista de los primeros números pares e impares ingresado y la lista de los primeros números positivos y negativos ingresados.
import java.util.*;
public class Ejercicio07 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static int numeroPar(double x[], int n){
int i;
for(i=0;i<n;i++){
if(x[i]%2 == 0){
System.out.println(«Es un numero par»);
}else
System.out.println(«Es un numero impar»);
}
return i;
}
public static int numeroNegativo(double x[], int n){
int i;
for(i=0;i<n;i++){
if(x[i]>0){
System.out.println(«Es un numero positivo»);
}else
System.out.println(«Es un numero negativo»);
}
return i;
}
public static void main(String[] args) {
double x[];
System.out.print(«Cantidad de elementos: «);
int n = entrada.nextInt();
x = new double[n];
ingresarArreglo(x,n);
System.out.println(«Lista de numeros pares e impares»);
numeroPar(x,n);
reportarArreglo(x,n);
System.out.println(«Lista de numeros positivos y negativos»);
numeroNegativo(x,n);
reportarArreglo(x,n);
}
}
8) Hacer un programa para ingresar N números enteros en un arreglo A y otros N números enteros en un arreglo B y reportar la lista de números enteros del arreglos C. Donde: C[i]=A[i]+B[i]
import java.util.*;
public class Ejercicio08 {
static Scanner entrada = new Scanner(System.in);
public static void ingresarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++){
System.out.print(«Arreglo[«+i+»]: «);
Arreglo[i] = entrada.nextDouble();
}
}
public static void reportarArreglo(double Arreglo[], int n){
for(int i=0;i<n;i++)
System.out.println(Arreglo[i]);
}
public static int calcularSuma(double A[], double B[], double C[], int n){
int i;
for(i=0;i<n;i++)
C[i] = A[i]+B[i];
return i;
}
public static void main(String[] args) {
double A[], B[], C[];
int n, suma = 0;
System.out.print(«Cantidad de elementos: «);
n = entrada.nextInt();
A = new double[n];
System.out.println(«Ingresar arreglo A»);
ingresarArreglo(A,n);
B = new double[n];
System.out.println(«Ingresar arreglo B»);
ingresarArreglo(B,n);
System.out.println(«Arreglo A ingresado»);
reportarArreglo(A,n);
System.out.println(«Arreglo B ingresado»);
reportarArreglo(B,n);
System.out.println(«Resultado del arreglo C»);
C = new double[n];
suma = calcularSuma(A,B,C,n);
reportarArreglo(C,n);
}
}