- En esta ocasión comenzaremos a comprender qué es un hilo y cómo implementar un programa sencillo en Visual Studio C++ usando hilos.
- Como actividad práctica aplicaremos las redes de petri para modelar un programa sencillo que usará hilos, e implementaremos el código en C++.
- Al final del día se enviarán los códigos C++ que se vieron/usaron en clase, se enviará código fuente por correo electrónico a la dirección del curso.
- Ver y comprender el siguiente video
// Multiplicacion de matrices.cpp: define el punto de entrada de la aplicación de consola.
ResponderEliminar//
#include "stdafx.h"
#include
#include
int A[100][100], B[100][100], R[100][100];
int x, y, z, w, i, j, k, l, r,f1,f2,c1,c2;
char opc;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Este programa muestra la multiplicacion de dos matrices creadas por el usuario \n";
cout << "Ingrese las dimensiones de la matriz A \n";
cin >> f1 >> c1;
cout << "Ingrese las dimensiones de la matriz B \n";
cin >> f2 >> c2;
//Comprobación de que la multiplicacion de matrices es posible, comprando si las columnas de la matris A
//son iguales al numero de filas de la matriz B
//Asi como tambien corroborando que los numeros de entrada no sean mayores que 100 ni menores o iguales a 0
//ya que de ser así no se puede ejecutar la multiplicacion
if (c1 == f2 && 100 >= f1 > 0 && 100 >= c1 > 0 && 100 >= f2 > 0 && 100 >= c2 > 0)
{
//Ingreso de la matriz A
cout << "Dame la matriz a \n";
for (x = 0; x < f1; x++)
{
for (y = 0; y < c1; y++)
{
cout << "[" << x << "]" << "[" << y << "]: ";
cin >> A[x][y];
}
}
//Impresion de la matriz A
cout << "\n\n";
for (x = 0; x < f1; x++)
{
for (y = 0; y < c1; y++)
{
cout << A[x][y] << "\t";
}
cout << endl;
}
//Ingreso de la matriz B
cout << "Dame la matriz b \n";
for (x = 0; x < f2; x++)
{
for (y = 0; y < c2; y++)
{
cout << "[" << x << "]" << "[" << y << "]: ";
cin >> B[x][y];
}
}
//Impresion de la matriz B
cout << "\n\n";
for (x = 0; x < f2; x++)
{
for (y = 0; y < c2; y++)
{
cout << B[x][y] << "\t";
}
cout << endl;
cout << "La matriz resultante es \n";
}
cout << "\n\n";
//Multiplicacion de A por B almacenando en la matriz C
for (x = 0; x < f1; x++)
{
for (y = 0; y < c2; y++)
{
R[x][y] = 0;
for (r = 0; r<c1; r++)
{
R[x][y] = R[x][y] + A[x][r] * B[r][y];
}
}
}
//Impresión de la matriz resultante
for (x = 0; x < f1; x++)
{
for (y = 0; y < c2; y++)
{
cout << R[x][y] << "\t";
}
cout << endl;
}
}
else
{
cout<<"Porfavor vuelva a introducir los datos \n";
}
return 0;
}