#11436 En serio, tienes que enseñarme a trollear y sacar de quicio a la gente, te lo tienes que pasar dpm xDD
#11441 vale, por ti lo reconozco, odio a alexelcapo, aunque me gusta escucharlo para criticarlo así de mala persona soy.
#11442 Pobrecillo, igual le pitan los oídos en mitad del streaming... ¿No te da vergüenza?
#11443 me jode estos bufones que esten viviendo de puta madre y miles de gente mendigando en la calle, INEM o sufriendo por conseguir miseros euros.
PD: Qué skin prehistórica habéis comprado?
#11445 Son las putas modas. Yo tampoco entiendo cómo los streamers o los youtubers cobran semejantes pastizales, peeeeeeeero...
Tomás Roncero @As_TomasRoncero
El viernes 26 estaré en @GamergyES para ver junto a todos vosotros las finales nacionales de videojuegos.
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
3 2 8 8 6
0 3 8 2 8
7 1 1 5 0
7 5 7 8 3
3 8 5 4 9
3 8 0 7 6
1 5 5 2 0
5 6 9 7 5
3 9 0 1 4
0 0 1 9 1
6 10 8 15 12
1 8 13 4 8
12 7 10 12 5
10 14 7 9 7
3 8 6 13 10
El código:
package prMatriz;
import java.util.ArrayList;
import java.util.List;
import mensajes.Channel;
public class main {
public final static int NUM_PROCESOS=5;
public static void main(String[] args) {
// TODO Auto-generated method stub
List <Channel<Integer[][]>> matrix1= new ArrayList<Channel<Integer [] []>>);
List <Filtro> filtros= new ArrayList<Filtro>);
for (int i=0;i<=NUM_PROCESOS;i++)
{
matrix1.add(new Channel<Integer[][]>));
}
Generador generador= new Generador(matrix1.get(0));
generador.start();
Consumidor consumidor= new Consumidor(matrix1.get(NUM_PROCESOS));
consumidor.start();
for (int i=0;i<NUM_PROCESOS;i++)
{
filtros.add(new Filtro(i, matrix1.get(i),matrix1.get(i+1)));
filtros.get(i).start();
}
}
}
package prMatriz;
import java.util.Random;
import mensajes.Channel;
public class Generador extends Thread {
private Channel<Integer[][]> matrix1;
private Channel<Integer[][]> matrix2;
private Channel<Integer[][]> matrixsuma;
private Integer [][] array=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array2=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array3=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
public Generador(Channel<Integer[][]> channel) {
// TODO Auto-generated constructor stub
matrix1=channel;
}
public void run()
{
Random r= new Random();
for (int i=0;i<main.NUM_PROCESOS;i++)
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
array[j]=r.nextInt(10);
}
}
for (int i=0;i<main.NUM_PROCESOS;i++)
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
array2[j]=r.nextInt(10);
}
}
for (int i=0;i<main.NUM_PROCESOS;i++)
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
array3[j]=0;
}
}
for (int i=0;i<main.NUM_PROCESOS;i++)
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
System.out.print(array3[j]+ " ";
}
System.out.println();
}
System.out.println();
for (int i=0;i<main.NUM_PROCESOS;i++) // impr matriz inicial
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
System.out.print(array2[j]+ " ";
}
System.out.println();
}
System.out.println();
for (int i=0;i<main.NUM_PROCESOS;i++) // impr matriz segunda
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
System.out.print(array[j]+ " ";
}
System.out.println();
}
try {
matrix1.send(array);
matrix1.send(array2);
matrix1.send(array3);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package prMatriz;
import mensajes.Channel;
public class Consumidor extends Thread {
private Channel<Integer[][]> matrix1recibe;
private Integer [][] array=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array2=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array3=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
public Consumidor(Channel<Integer[][]> channel) {
// TODO Auto-generated constructor stub
matrix1recibe=channel;
}
public void run()
{
try {
array=matrix1recibe.receive();
array2=matrix1recibe.receive();
array3=matrix1recibe.receive();
System.out.println();
for (int i=0;i<main.NUM_PROCESOS;i++)
{
for (int j=0;j<main.NUM_PROCESOS;j++)
{
System.out.print(array3[j]+ " ";
}
System.out.println();
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package prMatriz;
import mensajes.Channel;
public class Filtro extends Thread {
private Channel<Integer[][]> matrix1envia;
private Channel<Integer[][]> matrix1recibe;
private Channel<Integer[][]> matrix2recibe;
private Channel<Integer[][]> matrix2envia;
private Channel<Integer[][]> matrix3sumarecibe;
private Channel<Integer[][]> matrix3sumaenvia;
private Integer [][] array=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array2=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private Integer [][] array3=new Integer [main.NUM_PROCESOS][main.NUM_PROCESOS];
private int id;
public Filtro(int i,Channel<Integer[][]> channel, Channel<Integer[][]> channel2) {
// TODO Auto-generated constructor stub
matrix1recibe=channel;
matrix1envia=channel2;
id=i;
}
public void run ()
{
try {
array=matrix1recibe.receive();
array2=matrix1recibe.receive();
array3=matrix1recibe.receive();
for (int j=0;j<main.NUM_PROCESOS;j++)
{
array3[id][j]=array[id][j]+array2[id][j];
}
matrix1envia.send(array);
matrix1envia.send(array2);
matrix1envia.send(array3);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}