Está en la página 1de 15

Prctica del Laboratorio 7

1. Elaborar el diagrama de flujo y programa que permita ingresar valores a una matriz de
MxN.















































INICIO
A[5][3],i,j:
INGRESE
M,N
i=0;i<=4;i++
j=0;j<=2;j++
LEER
i+1,j+1
i=0;i<=4;i++
j=0;j<=2;j++
A[i][j]
FIN
#include <iostream>
#include <math.h>
using namespace std;

int notas[5][3];//5 es el numero de filas
int i,j;
void main (void){
for(i=0;i<=4;i++){
for(j=0;j<=2;j++){
cout<<"ingrese elemento que esta en la fila";cout<<i;
cout<<"y es la columna";cout<<j;cout<<"\n\n";
cin>>notas[i][j];cout<<"\t";
}
}
cout<<"\n";
for(i=0;i<=4;i++){
for(j=0;j<=2;j++){
cout<<notas[i][j];cout<<"\t";
}
cout<<endl;
}
}















2. Elabore el diagrama de flujo y programa para que dado una matriz de mxn nmeros
obtenga el nmero mayor.
















































INICIO
a[6][3],i,j,mayor:
i=0;i<=5;i++
j=0;j<=2;j++
LEER
i,j
i=0;i<=5;i++
j=0;j<=2;j++
mayor
FIN
a[i][j]>mayor
mayor=a[i][j
#include <iostream>
#include <math.h>
using namespace std;

int notas[6][3];//6 es el numero de filas
int i,j,mayor;
void main (void){
for(i=0;i<=5;i++){
for(j=0;j<=2;j++){
cout<<"ingrese elemento que esta en la fila";cout<<i;
cout<<"y es la columna";cout<<j;cout<<"\t";
cin>>notas[i][j];cout<<"\t";
}
}
//++++busqueda del mayor+++
mayor=notas[0][0];
for(i=0;i<=5;i++){
for(j=0;j<=2;j++){
if(notas[i][j]>mayor){
mayor=notas[i][j];
}

}
}
cout<<"el mayor de todos es:";cout<<mayor;
}


3. 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



















//CABECERA
#include <iostream>
using namespace std;
#include <math.h>
#define m 5
#define n 3
int A[m][n];
int i,j;
int B[m]={1,2,3,4,5};
void main (void)
{
//proceso
cout<<" VECTOR A[5]={1,2,3,4,5}"<<"\n";
for (i=0;i<5;i++){
for (j=0;j<3;j++){

A[i][j]=B[i]*(j+1);
}}
for (i=0;i<5;i++){
for (j=0;j<3;j++){

cout<<"\n";
cout<<" A["<<i<<"]["<<j<<"] ="<<A[i][j];
cout<<"\n";
}}}












4. Realice un programa que me permita obtener la matriz transpuesta de una matriz de 3x3
ingresada por teclado.





//CABECERA
#include <iostream>
#include <math.h>
using namespace std;
int A[4][4];//original
int A_trans[4][4];//esta sera la transpuesta
int i,j;
void main (void){
for (i=0;i<3;i++){
for (j=0;j<=3;j++){//primera columna
cout<<"ingrese elemento que esta en la fila";
cout<<i;
cout<<"y en la fila ";cout<<j; cout<<"\t";
cin>>A[i][j];
}
}
//calculo de la transpuesta
for (i=0;i<=3;i++){
for (j=0;j<=3;j++){//primera columna
A_trans[i][j]=A[j][i];
}
}
cout<<"Esta es la matriz original";cout<<"\n";
for (i=0;i<=3;i++){
for (j=0;j<=3;j++){
cout<<A[i][j];cout<<"\t";
}
cout<<"\n";
}
cout<<"Esta es la matriz transpuesta";cout<<"\n";
for (i=0;i<=3;i++){
for (j=0;j<=3;j++){
cout<<A_trans[i][j];cout<<"\t";
}
cout<<"\n";
}
}








I. CUESTIONARIO FINAL
1. Realice un programa con men que me permita:

1. Ingresar matriz
2.Encontrar el mayor
3. Encontra el menor
4. Salir del programa


//CABECERA
#include <iostream>
using namespace std;
#include <math.h>
#define M 10000
#define N 10000
int m[M][N];
int i,j,op,DATO,MAYOR,MENOR;
void main (void)
{
cout<<" MENU "<<endl;
cout<<"--------------------------------------------------------
"<<endl;
cout<<"1. Ingresar matriz\n2.Encontrar el mayor\n3. Encontra el
menor\n4. Salir del programa"<<endl;
cout<<endl;
cout<<"Ingrese la opcion: ";cin>>op;
switch (op){
case 1: {
cout<<" INGRESE COMPONENTES DE MATRIZ "<<"\n";
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
cout<<" Posicion ["<<i<<"]["<<j<<"]:" " ";cin>>DATO;
m[i][j]=DATO;
}
}
}

case 2:{
cout<<" INGRESE COMPONENTES DE MATRIZ "<<"\n";
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
cout<<" Posicion ["<<i<<"]["<<j<<"]:" " ";cin>>DATO;
m[i][j]=DATO;}
}
MAYOR=0;
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){

if (m[i][j]>=MAYOR){
MAYOR=m[i][j];}
}
}
cout<<" El componente mayor es "<<MAYOR<<"\n";
}
case 3:{
cout<<" INGRESE COMPONENTES DE MATRIZ "<<"\n";

for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
cout<<" Posicion ["<<i<<"]["<<j<<"]:" " ";cin>>DATO;
m[i][j]=DATO;}
}

MAYOR=0;
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){

if (m[i][j]>=MAYOR){
MAYOR=m[i][j];}
}}
MENOR=MAYOR;
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
if (m[i][j]<=MENOR){
MENOR=m[i][j];}
}}
cout<<"\n";
cout<<" El componente menor es "<<MENOR<<"\n";
cout<<"\n";
}
case 4:{
cout<<"\n";
cout<<" ELIGIO SALIR DEL PROGRAMA "<<"\n";
cout<<"\n";
}
}
}








2.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.




//CABECERA
#include <iostream>
#include <math.h>
using namespace std;
#define M 3
#define N 3
int i,j,DATO;
int A[M][N];
//PROGRAMA
void main(void){
cout<<" INGRESE COMPONENTES DE LA MATRIZ ";
cout<<"\n";
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
cout<<"\n";
cout<<" A ["<<i<<"] ["<<j<<"] = ";cin>>DATO;
A[i][j]=DATO;

}
}
for ( i=0; i<3; i++){
for (j=0; j<3; j++){

if(A[i][j]==0){
cout<<"\n";
cout<<"existe un cero en la posicion:
["<<i<<","<<j<<"]";
cout<<"\n";
}

}
}
cout<<"\n";
}




3. 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 deseAdas esten dentro del rango posible.







//CABECERA
#include <iostream>
#include <math.h>
using namespace std;
#define M 4
#define N 3
int i,j,DATO,q,w,o;
int A[M][N],F[N];
//PROGRAMA
void main(void){
cout<<"\n";
cout<<"INGRESE LOS DATOS DE LA MATRIZ ";
cout<<"\n";
for (int i=0; i<4; i++){
for (int j=0; j<3; j++){
cout<<" ["<<i<<"]["<<j<<"]=";cin>>DATO;
A[i][j]=DATO;
}
}
cout<<"elija las filas que desea sumar: "<<endl;
cin>>q;
cin>>w;
if (q<4 && q>=0 && w<4 && w>=0){
cout<<"los vectores elegidos son: "<<"\n";
for (int s=0; s<3; s++){
cout<<" A["<<q<<"]["<<s<<"]="<<A[q][s];
cout<<"\n";
}
for (int h=0; h<3; h++){
cout<<" B["<<w<<"]["<<h<<"]="<<A[w][h];
cout<<"\n";
}
cout<<"la suma es: "<<"\n";
for (int o=0; o<3; o++){
F[o]=A[q][o]+A[w][o];
cout<<" la suma en posicion ["<<o<<"]="<<F[o]<<"\n";
}
}
else { cout<<"elija filas validas que esten dentro del rango [ 0
, 1 , 2 , 3] "<<"\n";}

}








CONCLUSIONES
Es un lenguaje bastante flexible a la hora de permitirnos armar estructuras de datos,
podemos crear estructuras de varias formas distintas, usando siempre las referencias
correctas, para lo cual hay UN punto a tener en cuenta:
1. Es muy comn encontrarse con un mensaje como ARRAY [05465400654] esto
significa que hemos hecho mal la referencia, ya que nos est dando la direccin de
memoria en donde est el dato que queremos, en vez de darnos el dicho dato.

También podría gustarte