Upload
ramiro-lucero
View
6
Download
0
Embed Size (px)
Citation preview
Algoritmo y Estructura de Datos I 2007 - I
Facultad de Ingeniería y Arquitectura
Ing. Juan José Montero Román.
Sesión 3
Arreglos Unidimensionales: Vectores
Es un tipo de Dato. Consiste en un conjunto de elementos uno a continuación de otro. Cada elemento tiene el mismo espacio, se van a almacenar diferentes valores pero del mismo tipo.
tipo_de_dato variable[];tipo_de_dato[] variable;
variable = new tipo_de_dato[dimensión];
variable[] = new tipo_de_dato[dimensión];
Arreglos Unidimensionales:
Vectores
variable[indice] =valor;
Variable.length;
tipo variable[]= {valor1,valor2,valor3,...};
Arreglos Unidimensionales:
Vectores
int vectorNotas[ ];vectorNotas = new int [30];
int vectorNotas[ ] = new int [30];
int x=vectorNotas.length; //donde x=30
int n[]={1,12,0,-5,25};
String[] nombre={”Ludwig”,”Amadeus”,”Eddie”,”Jerry”};
Arreglos Unidimensionales:
Vectores
int n[ ]; // declaración del vector de enterosn= new int [ 5]; // inicializar el vectorn[ ]
Posición final (cantidad - 1) = 4
Luego, finalmente:n[0]= 5 n[1]= 9 n[2]= 7 n[3]= 3 n[4]= 4
Posición inicial (0)
5 9 7 3 4
0 1 2 3 4
n[0] n[1] n[2] n[3] n[4]
n[ ] n[ ]
Diseñe un programa que lea las edades de 10 personas y determine la suma de edades, la edad máxima, la edad mínima y la edad promedio. Use vectores
package domapli;import biblioteca.*;public class PrgEdad{
public static void main(String args[]){int edad[]= new int[10]; // declaracion e inicializaciónint suma=0; //acumuladorint min=0,max=0;double prom;String msg=””;// ingreso del vectorfor(int i=0;i<10;i++){
edad[i]=LE.leerInt("Ingrese edad:");}// recorriendo el vectorfor(int i=0;i<10;i++){
suma=suma+edad[i];if(i==0){
max=edad[i];min=edad[i];
}else{
if(edad[i]>max)max=edad[i];
if(edad[i]<min)min=edad[i];
}}prom=(double) suma/10;msg+="La suma de las edades es: "+suma;msg+="\nLa edad maxima es :"+max;msg+="\nLa edad minima es :"+min;msg+="\nLa edad promedio es :"+prom;LE.mostrarInformacion(msg);
}}
Diseñe un programa que lea 7 edades y halle la suma de las mismas. Utilice métodos
package domapli;import biblioteca.*;public class PrgEdad {
int edad[]=new int[7];int suma=0;int mayor=-1, menor=1000;public void ingresar(){
for(int i=0;i<edad.length;i++){edad[i]=LE.leerInt("Ingrese edad["+ i+"]");
}}public void calcular(){
for(int i=0;i<edad.length;i++){suma=suma+edad[i];if(edad[i]>mayor)
mayor=edad[i];if(edad[i]<menor)
menor=edad[i];}
}public void mostrar(){
LE.mostrarInformacion("la suma es: "+suma);LE.mostrarInformacion("El mayor es: "+mayor);LE.mostrarInformacion("El menor es: "+menor);
}public static void main(String args[]){
PrgEdad obj = new PrgEdad();obj.ingresar();obj.calcular();obj.mostrar();
}}
Diseñe un programa que genere aleatoria mente un arreglo de 15 notas de una práctica calificada. Determine luego:La nota promedioLa nota máximaLa nota mínima
Diseñe un programa que lea n números y determine la suma de todos los números, el promedio, cantidad de pares, cantidad de impares, el máximo, el mínimo. Lo números deben ser de 3 cifras.
Arreglos Bidimensionales: MatricesEs un tipo de Dato. Consiste en un conjunto de elementos uno a continuación de otro. Cada elemento tiene el mismo espacio, se van a almacenar diferentes valores pero del mismo tipo. Cada dato tiene una posición compuesta por un par de puntos. Esto es, todos los datos que componen el la matriz deben ser del mismo tipo de dato.
tipo_de_dato variable[][];tipo_de_dato[][] variable;
variable = new tipo_de_dato[nfilas][ncolumnas];
variable[][] = new tipo_de_dato[nfilas][ncolumnas];
Arreglos Bidimensionales:
Matrices
variable[fila][columna] =valor;
int x[ ][ ]; // declaración de la matriz de enterosx= new int [ 5][4]; // inicializar la matriz
int matrizNotas [ ][ ] = new int [30] [30];
Arreglos Unidimensionales:
Vectores
0 1 2 30 X[0][0] X[0][1] X[0][2] X[0][3]
1 X[1][0] X[1][1] X[1][2] X[1][3]
2 X[2][0] X[2][1] X[2][2] X[2][3]
3 X[3][0] X[3][1] X[3][2] X[3][3]
4 X[4][0] X[4][1] X[4][2] X[4][3]
Arreglos Unidimensionales:
Vectores
0 1 2 30 18 16 14 17
1 20 13 15 18
2 13 18 16 13
3 15 16 18 20
4 11 13 20 15
nota [0][0]=18;
suma = nota[1][2]+nota[1][3]+nota[4][1]suma = 15 + 18 + 13 = 46
Diseñe un programa lea los valores de una matriz de 4 * 4. Se pide hallar la suma de diagonal principal, la suma de la diagonal inversa, la suma de los valores cuya posición suma 5.
Diseñe un programa que lea los valores de una matriz de 5 * 4. Se pide intercambiar la 1 columna por la 3, así como también intercambiar la 2 fila por la 4.
Desarrollar una matriz tridiagonal, si es una matriz de nxn y los valores con que se llena cumplen las siguientes reglas:
i – j | > 1 debe llenar con 0i – j | <= 1 debe llenar con 1
Desarrollar una solución que permita ingresar y almacenar los códigos, apellidos y las 3 notas que obtuvieron n alumnos, debiéndose determinar el promedio de cada uno de ellos. Usar una sola matriz.