Este documento explica cómo trabajar con matrices en C++. Presenta un menú con tres opciones: 1) calcular el máximo y mínimo de una matriz ingresada, 2) llenar una matriz 4x4 con valores aleatorios, y 3) realizar operaciones básicas como suma, resta, inversa y transpuesta de matrices. El documento guía al usuario paso a paso a través de cada opción, solicitando los valores de la matriz y mostrando los resultados de las operaciones matriciales.
Se da una introducción a la manipulación y caracteres y cadenas en el lenguaje de programación C. Se muestran algunas funciones de librerías estándar de C con ejemplos de su uso. Se muestra el uso de punteros para manejar cadenas. Finalmente se muestra la conversión entre tipos de datos en C.
Se da una introducción a la manipulación y caracteres y cadenas en el lenguaje de programación C. Se muestran algunas funciones de librerías estándar de C con ejemplos de su uso. Se muestra el uso de punteros para manejar cadenas. Finalmente se muestra la conversión entre tipos de datos en C.
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Carlos Aguilar
Este documento presenta los códigos para la soluciones de ecuaciones diferenciales Ordinarias de Segundo Orden por métodos numéricos en MATLAB. Los métodos numéricos utilizados fueron el de EULER y el de RUNGE-KUTTA de orden 4. Las ODEs resueltas en este ejemplo corresponden a un par de ecuaciones diferenciales de los osciladores de Van Der Pol.
Se trata de la RESOLUCION de la actividad 2 de la unidad 2 que corresponde a la materia de Investigacion de Operaciones del octavo semestre de la licenciatura en Matematicas de la UnADM.
Programacion Lineal: Problema de asignacion, diapositivas del Ingeniero Eduardo Quiroz en la clase Investigacion de Operaciones I, Secciones K y L de la Escuela Profesional de Ingenieria Economica de la Facultad de Ingenieria Economica y Ciencias Sociales (FIECS)
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Carlos Aguilar
Este documento presenta los códigos para la soluciones de ecuaciones diferenciales Ordinarias de Segundo Orden por métodos numéricos en MATLAB. Los métodos numéricos utilizados fueron el de EULER y el de RUNGE-KUTTA de orden 4. Las ODEs resueltas en este ejemplo corresponden a un par de ecuaciones diferenciales de los osciladores de Van Der Pol.
Se trata de la RESOLUCION de la actividad 2 de la unidad 2 que corresponde a la materia de Investigacion de Operaciones del octavo semestre de la licenciatura en Matematicas de la UnADM.
Programacion Lineal: Problema de asignacion, diapositivas del Ingeniero Eduardo Quiroz en la clase Investigacion de Operaciones I, Secciones K y L de la Escuela Profesional de Ingenieria Economica de la Facultad de Ingenieria Economica y Ciencias Sociales (FIECS)
1. “Año de la Integración Nacional y el Reconocimiento de Nuestra
Diversidad”
UNIVERSIDAD NACIONAL
”SAN LUIS GONZAGA DE ICA”
FACULTAD DE INGENIERIA MECÁNICA Y ELÉCTRICA
ESCUELA PROFESIONAL DE INGENIERIÍA ELECTRONICA
TEMA
MATRICES EN C++
CURSO
: LENGUAJE DE PROGRAMACION 2
ALUMNA
:HUAYTA
DOCENTE
: MUNIVE WILMER
CICLO
:IV “1”
BERROCAL CAROL NÉLIDA
ICA - PERÚ
2013
2. MATRICES EN C++
MATRICES EN C++
En C++ los conjuntos ordenados de elementos del mismo tipo se denominan matrices (arreglos),
la idea aparece en otros lenguajes bajo distintos nombres. Por ejemplo, vector; lista ("list") o
secuencia ("sequence"). En cualquier caso, no confundirlas (las matrices) con los conjuntos de
pares nombre/valor, que existen en otros lenguajes bajo los nombres de diccionarios
("dictionarys"); tablas hash ("hash tables"); listas indexadas ("keyed lists") o matrices
asociativas ("associative arrays"), pero que como tales, no existen en C++; aunque la Librería
Estándar sí dispone de tales estructuras
PROGRAMACION DEN C++ DE MATRICES
usingnamespacestd;
#include<iostream>
#include<conio.h>
#include<math.h>
#include<iomanip>
#define N 4
intopcion,n,i,j,k;
int G[4][4], H[4][4], K[4][4],Y[4][4];
int A[4][4], B[4][4], C[4][4];
int P[5][5],Q[5][5];
intmain()
{
do
{
cout<<setw(57) << "************* MENU DE MATRICES *************n" <<endl;
cout<< " n" <<endl;
cout<< "1) MAX Y MIN MATRICIAL
(1) n" <<endl;
cout<< "2) MATRIZ DE 4X4 DE VALORES ALEATORIOS
(2) n" <<endl;
cout<< "3) OPERACIONES BASICAS MATRICIALES
(3) n" <<endl;
cout<< "POR FAVOR INGRESE UNA OPCION / <0> PARA SALIR: "; cin>>opcion;
cout<< "nn";
switch(opcion)
{
case 1:
{
cout.setf(ios::fixed);
cout.precision(3);
cout<< "_________________________________________________________________nn";
cout<<setw(50) << "PROBLEMA NUMERO 1" <<endl;
cout<<setw(50) << "=================";
cout<< "nn";
cout<<"nn INGRESE EL TAMAÑO DE LA MATRIZ: ";cin>>n;
for(i =0; i < n; i++)
for(j =0; j <n;j++)
{
HUAYTA BERROCAL C.
2
3. MATRICES EN C++
cout<<"n Ingrese el valor del elemento: P["<<i+1<<"]["<<j+1<<"]= ";
cin>>P[i][j];
}
// Lectura de la Matriz P[m,n]
for(i =0; i < n; i++)
for(j =0; j <n;j++)
{
cout<<"n P["<<i+1<<"]["<<j+1<<"]= ";
cout<<P[i][j];
}
for(i =0; i < n; i++)
for(j =0; j < n; j++)
{
Q[i][j]= P[i][j];
}
for(i=0; i < n; i++)
for(j =0; j < n; j++)
{
cout<<"n Q["<<i+1<<"]["<<j+1<<"]= ";
cout<<Q[i][j];
}
#define N 4
{
int I;
doublemax;
double min;
intnumeros[N];
int i;
intmaximo, minimo;
// INICIALIZO
minimo=1000;
maximo=0;
// LECTURA DE LOS ELEMENTOS VECTOR
for(i=0;i<N;i++)
{
cout<<"n Ingrese el numero "<<i+1<<" = "; cin>>(numeros[i]);}
// PROCESO calcula el MAXIMO Y EL MINIMO
for(i=0;i<N;i++)
{
if(numeros[i]<minimo)
minimo=numeros[i];
if(numeros[i]>maximo)
maximo=numeros[i];
}
cout<<"n";
cout<<"EL MAXIMO ES : "<<maximo;
cout<<"n";
cout<<"EL MINIMO ES : "<<minimo;
cout<<"n";
//calculo maximo
cout<<"ingresar =";cin>>I;
HUAYTA BERROCAL C.
3
4. MATRICES EN C++
for(max=0;max<0;max++)
{ max=maximo; }
cout<<" maximo es=n"<<max<<",";
cout<< "FIN n";
cout<<"ingresar =";cin>>I;
for(min=0;min<0;min++)
{ min=minimo; }
cout<<"n";
cout<<" minimo es=n"<<min<<",";
cout<< "FIN n";
getch();
}
getch();
}
break;
case 2:
{
inti,j,k,n;
float x;
n=4;
int E[4][4],T[4][4],U[4][4];
cout.setf(ios::fixed);
cout.precision(2);
cout<<
"****************************************************************************
****nn";
cout<<setw(50) << "PROBLEMA NUMERO 2" <<endl;
cout<<setw(50) << "=================";
cout<< "nn";
cout<< "Escribir un programa que llene una matriz de 4 por 4 de valores aleatorios" <<endl;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: A["<<i+1<<"]["<<j+1<<"]= ";
cin>>E[i][j] ;
}
// Lectura de la Matriz A[m,n]
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n A["<<i+1<<"]["<<j+1<<"]= ";
cout<<E[i][j] ;
}
// calcular el producto de los elementos de las matrices
//A en C
HUAYTA BERROCAL C.
4
5. MATRICES EN C++
cout<<"n SUMA DE COLUMNASnn";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
C[i][j] = E[i][j];
}
// VER EL RESULTADO DEL PRODUCTO DE SUS ELEMENTOS
// Lectura de la Matriz C[m,n]
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n C["<<i+1<<"]= ";
cout<<C[i][j] ;
}
cout<<"n SUMA DE COLUMNASnn";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
U[i][j] = E[i][j];
}
// VER EL RESULTADO DEL PRODUCTO DE SUS ELEMENTOS
// Lectura de la Matriz C[m,n]
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n U["<<j+1<<"]= ";
cout<<U[i][j] ;
}
return 0;
}
break;
case 3:
{
inti,j,k,n,x;
n=3;
int G[3][3], H[3][3], Y[3][3], K[3][3];
cout.setf(ios::fixed);
cout.precision(3);
cout<<
"****************************************************************************
****nn";
cout<<setw(50) << "OPERACIONES BASICAS MATRICIALES 3" <<endl;
cout<<setw(50) << "=================";
cout<< "nn";
HUAYTA BERROCAL C.
5
6. MATRICES EN C++
cout<<"RESTA DE LA MATRIZ
1" <<endl;
cout<<"INVERSA DE LA MATRIZ
2" <<endl;
cout<< "TRANSPUESTA DE LA MATRIZ 3" <<endl;
cout<< "POR FAVOR INGRESE UNA OPCION / <0> PARA SALIR: "; cin>>opcion;
cout<< "nn";
switch(opcion)
{
case 1:
{
cout<<setw(50)<<"CALCULO DE LA RESTA DE LA MATRIZ"<<endl;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: A["<<i+1<<"]["<<j+1<<"]= ";
cin>>A[i][j] ;
}
//MATRIZ B
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: B["<<i+1<<"]["<<j+1<<"]= ";
cin>>B[i][j] ;
}
// Lectura de la Matriz A[m,n]
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n A["<<i+1<<"]["<<j+1<<"]= ";
cout<<A[i][j] ;
}
// Lectura de la Matriz B[m,n]
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n B["<<i+1<<"]["<<j+1<<"]= ";
cout<<B[i][j] ;
}
// calcular el producto de los elementos de las matrices
//A y B en C
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
C[i][j] = A[i][j] + B[j][j];
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n C["<<i+1<<"]["<<j+1<<"]= ";
HUAYTA BERROCAL C.
6
7. MATRICES EN C++
cout<<C[i][j] ;
}
getch();
}
case 2:
{
cout<<setw(50)<<"CALCULO DE LA RESTA DE LA MATRIZ"<<endl;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: A["<<i+1<<"]["<<j+1<<"]= ";
cin>>A[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: B["<<i+1<<"]["<<j+1<<"]= ";
cin>>B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n A["<<i+1<<"]["<<j+1<<"]= ";
cout<<A[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n B["<<i+1<<"]["<<j+1<<"]= ";
cout<<B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
C[i][j] = A[i][j] - B[j][j];
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n C["<<i+1<<"]["<<j+1<<"]= ";
cout<<C[i][j] ;
}
}
case 3:
{
cout<<"nn";
cout<<"MATRIS INVERSA";
cout<<"==============";
cout<<"nn";
for (i = 0; i < n; i++)
HUAYTA BERROCAL C.
7
8. MATRICES EN C++
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: A["<<i+1<<"]["<<j+1<<"]= ";
cin>>A[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: B["<<i+1<<"]["<<j+1<<"]= ";
cin>>B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n A["<<i+1<<"]["<<j+1<<"]= ";
cout<<A[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n B["<<i+1<<"]["<<j+1<<"]= ";
cout<<B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
C[i][j] = A[i][j] - B[j][j];
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n C["<<j+1<<"]["<<i+1<<"]= ";
cout<<C[i][j] ;
}
}
case 4:
cout<<setw(50)<<"MATRIS TRANSPUESTA";
cout<<setw(50)<<"==================";
cout<<"n";
cout<<"nn";
cout<<"MATRIS INVERSA";
cout<<"nn";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: A["<<i+1<<"]["<<j+1<<"]= ";
cin>>A[i][j] ;
}
for (i = 0; i < n; i++)
HUAYTA BERROCAL C.
8
9. MATRICES EN C++
for (j = 0; j < n; j++)
{
cout<<"n Ingrese el valor del elemento: B["<<i+1<<"]["<<j+1<<"]= ";
cin>>B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n A["<<i+1<<"]["<<j+1<<"]= ";
cout<<A[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n B["<<i+1<<"]["<<j+1<<"]= ";
cout<<B[i][j] ;
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
C[i][j] = A[i][j] - B[j][j];
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
cout<<"n C["<<j+1<<"]["<<i+1<<"]= ";
cout<<C[i][j] ;
}
}
getch();
}
default:
cout<<setw(50) << "grupo default de instrucciones"<<endl;
getch();
}
}while (opcion!=0);
getch();
}
HUAYTA BERROCAL C.
9
10. MATRICES EN C++
INGRESANDO LA PRIMERA OPCION
Ingresando el tamaño de la matriz tamaño de matriz 3*3
COLOCANDO ELEMENTOS DE LA MATRIZ
USANDO LA OPCION 2
HUAYTA BERROCAL C.
10
11. MATRICES EN C++
USANDO LA OPCION 3
MENU DE OPERACIONES BASICAS MATRICIALES
HUAYTA BERROCAL C.
11