Documente Academic
Documente Profesional
Documente Cultură
Laboratorio de Mecnica Computacional I Pgina: 7/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
Lectura/escritura de datos: la lectura/escritura de datos en Arrays u operaciones de entrada/salida
normalmente se realizan con estructuras repetitivas, aunque puede tambin hacerse con estructuras
selectivas. Las instrucciones simples de lectura/escritura se representarn como:
Leer (M[3] [4]); leer el elemento de la tercera fila y cuarta columna de la matriz M.
Escribir (M[3] [4]); escribir el elemento de la tercera fila y cuarta columna de la matriz M.
Ejemplo:
#define fil 6 //CANTIDAD MAXIMA DE FILAS M
#define col 6//CANTIDAD MAXIMA DE COLUMNAS N
int matriz[Nfila] [Ncolumna], fila, columna;
void main()
{
//INGRESANDO VALORES A LA MATRIZ
for (fila=0;fila<Nfila;fila++)
for (columna=0;columna<Ncolumna;columna++)
{
cout<<"Ingrese el valor para la matriz ["<<fila<<"] "<<"["<<columna<<"] ";
cin>>matriz[fila] [columna];
}
}
III. PROCEDIMIENTO
Ejercicio01:Elaborar el diagrama de flujo y programa que permita ingresar valores a un vector
de N elementos. Emplear la estructura para y la estructura mientras.
METODO 1
#include<iostream>
usingnamespace std;
int vect[50],i,n;
void main(void)
{
cout<<"ingrese el numero :";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"el numero el valor :";
cin>>vect[i];
}
Laboratorio de Mecnica Computacional I Pgina: 8/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
system("pause");
}
METODO 2
#include<iostream>
usingnamespace std;
int vect[50],i,n;
void main(void)
{
cout<<"*****************:""\n";
cout<<"ingrese el numero :";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"el numero el valor :";
cin>>vect[i];
}
system("pause");
cout<<"mostramos el vector ------->:""\n";
for(i=0;i<n;i++)
{
cout<<vect[i]<<"\n";
}
system("pause");
}
Ejercicio02:Elabore el diagrama de flujo y programa para que dado un array de N nmeros
obtenga el nmero mayor.
METODO
#include<iostream>
usingnamespace std;
int vect[50],i,n,may;
void main(void)
{
cout<<"*****************:""\n";
cout<<"ingrese el numero :";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"el numero el valor :";
cin>>vect[i];
}
system("pause");
Laboratorio de Mecnica Computacional I Pgina: 9/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
may=vect[0];
for (i=0;i<n;i++)//recorremos el vector
{
if (vect[i]>may)
may=vect[i];
}
cout<<"el mayor es "<<may<<"\n";
system("pause");
}
METODO DOS CON UBICACIN
#include<iostream>
usingnamespace std;
int vect[50],i,n,may,pos;
void main(void)
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"ingrese el numero :";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"+++++++++++++++++++++++++++++++++:""\n";
cout<<"el numero el valor :";
cin>>vect[i];
}
system("pause");
may=vect[0];
for (i=0;i<n;i++)//recorremos el vector
{
if (vect[i]>may)
may=vect[i];
{pos=i;}
}
cout<<"++++++++++++++++++++++++++++++++:""\n";
cout<<"el mayor es "<<may<<"\n";
cout<<"++++++++++++++++++++++++++++++++:""\n";
cout<<"ubicado en la posicion"<<pos<<"\n";
system("pause");
}
Ejercicio03:Elabore el diagrama de flujo y programa que lea cuatro nmeros y los almacene en
un vector A; lea otros cuatro nmeros y los almacene en el vector B, luego determine cuantos
nmeros del vector A se encuentren en el vector B.
#include<iostream>
usingnamespace std;
int A[50],B[50],i,j,n,h;
void main()
Laboratorio de Mecnica Computacional I Pgina: 10/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
{
cout<<"Numero de Elementos A: ";
cin>>n;
for (i=0;i<n;i++)
{
cout<<"Ingrese Valor: ";
cin>>A[i];
}
cout<<"Numero de Elementos B: ";
cin>>n;
for (j=0;j<n;j++)
{
cout<<"Ingrese Valor: ";
cin>>B[j];
}
h=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
if (A[i]==B[j])
h++;
cout<<"La Cantidad de Numeros que se repite son: "<<h<<"\n";
system ("pause");
Ejercicio04: Realice un programa que me permita sumar dos vectores de la misma longitud.
METODO
#include<iostream>
usingnamespace std;
int A[50],B[50],i,j,C[50],n,cant;
void main(void)
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"numero de elementos de A :";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"+++++++++++++++++++++++++++++++++:""\n";
cout<<"INGRESE EL VALOR :";
cin>>A[i];
}
cout<<"numero de elementos de B :";
for(j=0;j<n;j++)
{
cout<<"+++++++++++++++++++++++++++++++++:""\n";
cout<<"INGRESE EL VALOR :";
cin>>B[j];
Laboratorio de Mecnica Computacional I Pgina: 11/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
}
//sumamos los vectores
for(i=0;i<n;i++)
C[i]=A[i]+B[i];
//mostramos resultados
for (i=0;i<n;i++)
cout<<C[i]<<"\n";
system("pause");
}
Ejercicio05Elaborar el diagrama de flujo y programa que permita ingresar valores a una matriz
de MxN.
#include<iostream>
usingnamespace std;
int A[20][20];
int i,j,m,n;
void main()
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de filas en A: ";
cin>>m;
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de columnas en A: ";
cin>>n;
for (i=0;i<m;i++) //recorre filas
for(j=0;j<n;j++)
{
cout<<"A["<<i<<","<<j<<"]= ";
cin>>A[i][j];
}
system ("pause");
}
Ejercicio06: Elabore el diagrama de flujo y programa para que dado una matriz de mxn
nmeros obtenga el nmero mayor.
#include<iostream>
usingnamespace std;
int A[20][20];
int i,j,m,n,may,x,y;
void main()
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de filas en A: ";
cin>>m;
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de columnas en A: ";
cin>>n;
for (i=0;i<m;i++) //recorre filas
for(j=0;j<n;j++)
Laboratorio de Mecnica Computacional I Pgina: 12/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
{
cout<<"A["<<i<<","<<j<<"]= ";
cin>>A[i][j];
}
system ("pause");
//Elabore el diagrama de flujo y programa para que dado una matriz de
mxn nmeros obtenga el nmero mayor.
may=A[0][0];
for (i=0;i<m;i++)
for(j=0;j<n;j++)
{
if (A[i][j]>may)
{
may=A[i][j];
x=i;
y=j;
}
}
cout<<"el numero mayor es A["<<x<<","<<y<<"]= "<<may<<"\n";
system ("pause");
}
Ejercicio07: Elabore el diagrama de flujo y programa que permita crear la matriz B a partir del
vector A. usando la menor cantidad de lneas de instruccin posibles.
A = [1 2 3 4 5]
15 10 5
12 8 4
9 6 3
6 4 2
3 2 1
B
#include<iostream>
usingnamespace std;
int A[20],B[20][20];
int i,j,m,n;
void main()
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"posicion del vector: ";
cin>>m;
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"filas de la matriz: ";
cin>>n;
for (i=0;i<m;i++) //recorre filas
{
cout<<"A["<<i<<"]= ";
cin>>A[i];
}
system ("pause");
//generamos la matriz
Laboratorio de Mecnica Computacional I Pgina: 13/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
for (i=0;i<m;i++)
for (j=0;j<n;j++)
B[i][j]=A[j]*(i+1);
//mostramos la matriz
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
cout<<B[i][j]<<" ";
}
cout<<"\n";
}
system ("pause");
}
Ejercicio08: Realice un programa que me permita obtener la matriz transpuesta de una matriz
de 3x3 ingresada por teclado.
#include<iostream>
usingnamespace std;
int A[20][20],B[20][20];
int i,j,m,n;
void main()
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de filas en A: ";
cin>>m;
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"Numero de columnas en A: ";
cin>>n;
for (i=0;i<m;i++) //recorre filas
for(j=0;j<n;j++)
{
cout<<"A["<<i<<","<<j<<"]= ";
cin>>A[i][j];
}
system ("pause");
//generamos la transpuesta
for (i=0;i<m;i++)
for (j=0;j<n;j++)
B[i][j]=A[j][i];
//mostramos la transpuesta
//cout<<"B["<<i<<","<<j<<"]= ";
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
cout<<B[i][j]<<" ";
}
cout<<"\n";
}
system ("pause");
}
Laboratorio de Mecnica Computacional I Pgina: 14/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
IV. CUESTIONARIO FINAL
1. Realice un programa con men que me permita:
1. Ingresar Vector
2. Sumar posiciones pares
3. Sumar posiciones impares
4. Salir del programa
#include<iostream>
#define a 1000
usingnamespace std;
unsignedint C;
int z,x,c,v;
float VA[a];
void main(void)
{
cout<<"++++++++++++++++++++++++++:""\n";
cout<<" vector A: ";
cin>>x;
cout<<"++++++++++++++++++++++++++:""\n";
cout<<"componentes vector A: ";
for (z=0;z<x;z++) //recorre filas
{
cout<<"posicion del vector A["<<z<<"]= ";
cin>>VA[z];
}
cout<<"el vector ingresado es: "<<"\n";
cout <<" ";
for (z=0,z<x,z++)
{
cout<<" ";
cout<<VA[z];
cout<<" ";
}
cout<<"\n";
cout<<"elija la opcion:""\n";
cout<<" sumar posiciones pares ""\n";
cout<<" sumar posiciones impares""\n";
cout<<" sumar posiciones impares""\n";
cout<<" salir""\n";
cin>>C;
switch (C)
{
case 1:
{
z=1;
v=0;
cout<<"Sumar las posiciones pares del vector""\n";
while(z<x)
Laboratorio de Mecnica Computacional I Pgina: 15/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
{
c=vA[i];
v=o+c;
x=x+2;
}
cout<<o;
cout<<"\n\n";
break;
}
case 2:
{
x=0;
v=0;
cout<<"Sumar las posiciones pares del vector""\n";
while(x<z)
{
c=vA[i];
v=c+v;
x=x+2;
}
cout<<o;
cout<<"\n";
break;
}
case 3:
{
}
break;
}
}
2. Disee un diagrama de flujo y programa para buscar un nmero en 7 nmeros ingresados y determine
la posicin y si existe o no el nmero buscado.
#include<iostream>
usingnamespace std;
int i,r,t,s;
unsignedint C;
float v[7];
void main (void)
{
cout<<"Ingrese el vector ""\n";
for(i=0;i<7;i++)
{
cout<<"Ingrese la posicion vector ["<<i<<"]=";
Laboratorio de Mecnica Computacional I Pgina: 16/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
cin>>v[i];
}
cout<<"El vector ingresado fue: ""\n";
cout<<"\n";
cout<<" ";
for(i=0;i<7;i++)
{
cout<<" ";
cout<<v[i];
cout<<" ";
}
cout<<" "<<"\n";
cout<<"que numero quiere encontrar?"<<"\n";
cin>>t;
cout<<"\n";
for(i=0;i<7;i++)
{
if(t==v[i])
{ cout<<"esta en la posicion: ";
cout<<i+1;
cout<<"\n";
}
else
{
cout<<"No se encuentra el numero"<<"\n";
}
}
3. Realice un programa con men que me permita:
#include<iostream>
usingnamespace std;
int A[20][20];
int m,n,i,j,may,x,y,men,c,d;
void main()
{
cout<<"Numero de filas: ";
cin>>m;
cout<<"numero de columnas: ";
cin>>n;
for (i=0;i<m;i++) //Recorre filas
for(j=0;j<n;j++) //Recorre columnas
{
cout<<"A["<<i<<","<<j<<"]=";
cin>>A[i][j];
}
Laboratorio de Mecnica Computacional I Pgina: 17/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
system("pause");
//calculamos el numero mayor de la matriz
may=A[0][0];
for (i=0;i<m;i++) //Recorre filas
for(j=0;j<n;j++) //Recorre columnas
{
if (A[i][j]>may)
{
may=A[i][j];
x=i;
y=j;
}
}
//calculamos el numero menor de la matriz
men=A[0][0];
for (i=0;i<m;i++) //Recorre filas
for(j=0;j<n;j++) //Recorre columnas
{
if (A[i][j]<men)
{
men=A[i][j];
c=i;
d=j;
}
}
cout<<"El numero mayor es A["<<x<<","<<y<<"]="<<may<<"\n";
cout<<"El numero menor es A["<<c<<","<<d<<"]="<<men<<"\n";
system("pause");
}
1. Ingresar matriz
2.Encontrar el mayor
3. Encontra el menor
4. Salir del programa
4. Disee un diagrama de flujo y programa para buscar ceros (0) en una matriz ingresada por teclado de
3x3. De encontrarse alguno o algunos deber indicar en que posicin se encuentran.
Laboratorio de Mecnica Computacional I Pgina: 18/18
Tema: PROGRAMACIN VISUAL C++
ESTRUCTURAS DE DATOS: ARREGLOS VECTORES Y MATRICES
LAB N 10
JP: Ings.
JCC-HZG-SMR-CCO-
JET
5. Disee un diagrama de flujo y programa para que extraiga dos vectores de una matriz de 4x3
ingresada por teclado y muestre en pantalla la suma. El usuario escoge que filas desea sumar, se debe
verifcar que las filas desedas esten dentro del rango posible.
V. OBSERVACIONES Y CONCLUSIONES
Emita al menos tres conclusiones en torno al trabajo realizado
1. ___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
2. ___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
3. ___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________