Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Semana07 PDF
Semana07 PDF
Permite administrar un conjunto de datos de un mismo tipo con una sola variable.
En los vectores, los datos se guardan uno a continuación del otro y ocupan una posición entera
consecutiva a partir de 0.
a [7 ]
0 a [0]
1 a [1]
2
3
4
5
6 a [6]
En las matrices, los datos se guardan en forma de tabla (filas x columnas) donde cada fila es un
vector del tamaño que indique las columnas y cada columna es un vector del tamaño que indique las
filas.
m[5][4]
COLUMNAS
0 1 2 3
F 0
I
1
L 2
A
S 3
DECLARACIÓN:
Ejemplo de vectores:
int a[7];
double b[10];
char c[100];
Ejemplo de matrices:
int m[5][4]; // 5 filas, 4 columnas
double n[10][10]; // 10 filas, 10 columnas
char x[20][30]; // 20 cadenas de 30 caracteres cada una
Vectores:
int x [ ] = {2,70,18,15}
Matrices:
ACCESO DE DATOS:
Ejemplo:
Matrices: variable[fila][columna]
Ejemplo:
RECORRIDO
Ejemplo:
// forma ascendente
for (int i = 0; i<4; i++)
cout<< x[i]<<endl;
// forma descendente
for( int i = 4; i>= 0; i--)
cout<<p[i]<<endl;
Ejemplo:
PROBLEMA 1:
#include "stdafx.h"
#include <iostream>
#include <time.h>
// prototipos
void llenaVector();
void lista();
int aleatorio (int min , int max);
void capicuas();
int esCapicua (int n);
Elaborado por Ing. Julio Vásquez Paragulla 3
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA07
ARREGLOS: VECTORES Y MATRICES
void primos();
int esPrimo ( int n);
void estadistica();
double promedio();
double desviacionEstandar ();
double varianza();
// función principal()
void main(){
llenaVector();
lista();
capicuas();
primos();
estadistica();
_gettch();
}
// desarrollo de prototipos
void llenaVector(){
srand(time(NULL));
for(int i=0 ; i<30; i++)
a[i]= aleatorio (100,999);
}
void lista(){
for( int i=0 ; i<30; i++)
cout<<"a["<< i << "]="<<a[i]<<endl;
}
int aleatorio (int min , int max){
return (int) (rand( )%(max-min+1) +min);
}
void capicuas(){
int c =0;
cout<<"Numeros capicuas que estan en el vector"<<endl;
for ( int i = 0; i<30; i++){
if ( esCapicua(a[i])){
c++;
cout<<a[i]<<endl;
}
}
cout<<"hay "<<c<< " numeros capicuas"<<endl;
}
int esCapicua(int n) {
if (n/100 == n%10)
return 1;
else
return 0;
}
void primos(){
int c=0;
cout<<"Numeros primos que estan en el vector"<<endl;
for( int i = 0; i<30; i++){
if (esPrimo(a[i])){
c++;
cout<<a[i]<<endl;
}
}
cout<<"hay " <<c<< " numeros primos"<<endl;
}
Elaborado por Ing. Julio Vásquez Paragulla 4
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA07
ARREGLOS: VECTORES Y MATRICES
void estadistica(){
cout<< "Promedio="<<promedio()<<endl;
cout<< "Desviacion estandard= "<< desviacionEstandar()<<endl;
cout<< "varianza= "<< varianza()<<endl;
}
double promedio(){
double s = 0;
for ( int i = 0; i<30; i++)
s += a[i];
return s/30;
}
double varianza(){
double p= promedio(), suma=0;
for( int i = 0; i<30; i++)
suma += pow(a[i]-p, 2);
return suma/30;
}
Modifique la estructura de la función main() para que las opciones se invoquen a través de un menú de
opciones.
PROBLEMA 2:
Considere una matriz de 10 filas por 10 columnas y a través de un menú de opciones realice los
siguientes procesos:
[3] mayor valor, encuentra y muestra el mayor valor y las posiciones (fila,columa) donde se
encuentra.
[4] promedio por fila, determina el promedio de cada fila y lo muestra junto a la matriz
[5] promedio por columna, determina el promedio de cada columna y lo muestra a continuación
de la matriz.
Considere los arreglos necesarios, de tamaño 30, para guardar los nombres y cuatro notas con sus
respectivos promedios de cada alumno y a través de un menú de opciones realice lo siguiente:
1. Ingresar , ingresa y guardar los datos de un alumno e inmediatamente muestra en forma
de tabla los datos guardados.
2. Promedios inferiores, cuenta y muestra a los alumnos cuyo promedio sea inferior al
promedio general.
3. Promedios superiores, cuenta y muestra aquellos alumnos cuyo promedio sea igual o
superior al promedio general.
4. Promedio mayor, cuenta y muestra a los alumnos que tengan el más alto promedio.
5. Ordena y muestra a los alumnos por orden de merito descendente.
PROPUESTO 2:
Dado 2 números enteros, determine la cantidad de veces que se repite cada digito del 0 al nueve en
ambos números ingresados y dibuje un histograma.
2: **
3: *****
4: ****
5: ***
PROPUESTO 3:
PROPUESTO 4:
Considere una matriz de 10 filas por 10 columnas y a través de un menú de opciones realice los
siguientes procesos:
[8] ordena todo por filas, ordena toda la matriz por filas y muestra su contenido
[9] ordena todo por columnas, ordena toda la matriz por columnas y muestra su contenido
[11] desplaza una columna por izquierda, la primera columna va a la ultima y el resto se desplaza
hacia la izquierda