Mais conteúdo relacionado Semelhante a Dflapo tarea files_dos (20) Dflapo tarea files_dos1. Tarea # 5 “FICHEROS 2”
(Electrónica)
Fundamentos de Programación
Universidad Técnica Particular de Loja
Versión [1.0.0]
CONFIDENCIAL
2. Fundamentos de Programación
Universidad Técnica Particular de Loja Versión [1.0.0]
Información del Documento
TÍTULO: Fundamentos de Programación
SUBTÍTULO: Universidad Técnica Particular de Loja
VERSIÓN: [1.0.0]
ARCHIVO: (NombreEstudiante)-Cap_ProcedimientosFunciones.docx
AUTOR: Daniel Irene Robalino
ESTADO: Final
Lista de Cambios
VERSIÓN FECHA AUTOR DESCRIPCIÓN
1.0.0 20/01/2012 DRI Emisión Inicial
Firmas y Aprobaciones
ELABORADO Darwin Lapo
POR:
FECHA: 20/01/2012 Firma:
REVISADO POR: [Nombre]
[Cargo]
FECHA: [AAA-MM- Firma:
DD]
APROBADO [Nombre]
POR: [Cargo]
FECHA: [AAAA-MM- Firma:
DD]
© UTPL -ELECTRONICA CONFIDENCIAL Pag. 1 de 5
3. Fundamentos de Programación
Universidad Técnica Particular de Loja Versión [1.0.0]
1. Diseño / Verificación / Ejecución.
7.1.:Determinar los valores de I,J, después de la ejecución de las instrucciones
siguientes .
CODIGO (Diseño) EJECUCIÓN
//Numero: 7.1
//Nombre: Valores
//Descripcion: determinar los valores de I,J despues de la
ejecución de las instrucciones siguientes
//Autor: Darwin Lapo
//Fecha Act: 13-12-2011
#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <stdio.h>
using namespace std;
constint m=3;
void asignarMatrices(intmatriz[][m])
{
for(int i=0;i<m;i++)
for(int j=0;j<m;j++)
{
matriz[i][j]=rand() % 10 + 1;
}
}
void grabarMatrices(intmatriz[][m], ofstream&oArchivoMatrices,
char nomArchivoMatriz[])
{
oArchivoMatrices.open(nomArchivoMatriz,ios::app);
for(int i=0;i<m;i++){
for(int j=0;j<m;j++)
oArchivoMatrices<<matriz[i][j]<<";";
oArchivoMatrices<<endl;
}
oArchivoMatrices.close();
}
voidpresentarMatrices(int matriz[][m])
{
cout<<endl<<"LA MATRIZ ES"<<endl;
//cout<<"-- ------ --"<<endl;
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
cout<<matriz[i][j]<<"t";
cout<<endl;
}
}
void grabarResultados(intmatriz_sum[][m], intmatriz_rest[][m],
intmatriz_mul[][m],intmatriz_A[][m],intmatriz_B[][m])
{
charnomArchivoMatriz[]="matricesRespuesta.csv";
ofstreamoArchivoMatrices(nomArchivoMatriz);
oArchivoMatrices<<";Matriz A"<<endl;
oArchivoMatrices.close();
grabarMatrices(matriz_A,oArchivoMatrices,nomArchivoMatriz);
oArchivoMatrices.open(nomArchivoMatriz,ios::app);
oArchivoMatrices<<";Matriz B"<<endl;
oArchivoMatrices.close();
© UTPL -ELECTRONICA CONFIDENCIAL Pag. 2 de 5
4. Fundamentos de Programación
Universidad Técnica Particular de Loja Versión [1.0.0]
grabarMatrices(matriz_B,oArchivoMatrices,nomArchivoMatriz);
oArchivoMatrices<<";Multiplicacion"<<endl;
oArchivoMatrices.close();
grabarMatrices(matriz_mul,oArchivoMatrices,nomArchivoMatriz);
oArchivoMatrices.open(nomArchivoMatriz,ios::app);
oArchivoMatrices<<";Suma"<<endl;
oArchivoMatrices.close();
grabarMatrices(matriz_sum,oArchivoMatrices,nomArchivoMatriz);
oArchivoMatrices.open(nomArchivoMatriz,ios::app);
oArchivoMatrices<<";Resta"<<endl;
oArchivoMatrices.close();
grabarMatrices(matriz_rest,oArchivoMatrices,nomArchivoMatriz);
}
intpresentarResultados()
{
charnomArchivoMatriz[]="matricesRespuesta.csv";
ifstreamiArchivoMatrices(nomArchivoMatriz);
if(!iArchivoMatrices){
cout<<"Existe un error al abrir el archivo..";
exit(1); //Fuerza el cierre del programa
}
stringlineas; //Varible para almacenar las lineas del
archivo de entrada
while(getline(iArchivoMatrices,lineas)){
cout<<lineas<<endl;
}
system("PAUSE");
return 0;
}
void multiplicacion(intmatriz_A[][m], intmatriz_B[][m],
intmatriz_mul[][m])
{
int sum=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
sum=0;
for(int k=0;k<m;k++)
sum=sum+matriz_A[i][k]*matriz_B[k][j];
matriz_mul[i][j]=sum;
}
}
cout<<"Multiplicacion procesada"<<endl;
system("PAUSE");
}
void suma(intmatriz_A[][m], intmatriz_B[][m], intmatriz_sum[][m])
{
for(int i=0;i<m;i++)
for(int j=0;j<m;j++)
matriz_sum[i][j]=matriz_A[i][j]+matriz_B[i][j];
cout<<"Suma procesada"<<endl;
system("PAUSE");
}
void resta(intmatriz_A[][m], intmatriz_B[][m], intmatriz_rest[][m])
{
for(int i=0;i<m;i++)
for(int j=0;j<m;j++)
matriz_rest[i][j]=matriz_A[i][j]-matriz_B[i][j];
cout<<"Restaprocesada"<<endl;
system("PAUSE");
}
void menu()
{
© UTPL -ELECTRONICA CONFIDENCIAL Pag. 3 de 5
5. Fundamentos de Programación
Universidad Técnica Particular de Loja Versión [1.0.0]
system("cls");
cout<<"ALGEBRA DE MATRICES"<<endl;
cout<<"==================="<<endl;
cout<<"V. PRESENTAR MATRICES"<<endl;
cout<<"S. SUMAR MATRICES"<<endl;
cout<<"R. RESTAR MATRICES"<<endl;
cout<<"M. MULTIPLICAR MATRICES"<<endl;
cout<<"P. PRESENTAR RESULTADOS"<<endl;
cout<<"O. SALIR"<<endl<<endl;
cout<<"SU OPCION ?"<<endl;
}
void visualizarMatrices(intmatriz_A[][m], intmatriz_B[][m])
{
asignarMatrices(matriz_A);
asignarMatrices(matriz_B);
presentarMatrices(matriz_A);
presentarMatrices(matriz_B);
system("PAUSE");
}
int main()
{
srand(time(NULL));
intmatriz_A[m][m],matriz_B[m][m];
intmatriz_mul[m][m];
intmatriz_sum[m][m];
intmatriz_rest[m][m];
char op;
while (true)
{
menu();
op=getchar();
switch (op)
{
case 'V': visualizarMatrices(matriz_A, matriz_B); break;
case 'R': resta(matriz_A,matriz_B,matriz_rest); break;
case 'S': suma(matriz_A,matriz_B,matriz_sum); break;
case 'M': multiplicacion(matriz_A,matriz_B,matriz_mul);
break;
case 'P':
grabarResultados(matriz_sum,matriz_rest,matriz_mul,matriz_A,
matriz_B);
presentarResultados();
break;
case 'O': exit(0);
}
}
system("PAUSE");
return 0;
}
© UTPL -ELECTRONICA CONFIDENCIAL Pag. 4 de 5