Ejemplo n.º 1
0
int main(int argc, char const *argv[]){
	srand(time(NULL));
	int r = 0;
	printf("Matrices que se utilizaran:\n");
	printf("Matriz 1:\n");
	for (int i = 0; i < N; ++i){
		for (int j = 0; j < N; ++j){
			r = rand()%8 +1;
			matriz1[i][j] = r;
			printf("%d\t",matriz1[i][j]);
		}
		printf("\n");
	}
	printf("Matriz 2:\n");
	for (int i = 0; i < N; ++i){
		for (int j = 0; j < N; ++j){
			r = rand()%8 +1;
			matriz2[i][j] = r;
			printf("%d\t",matriz2[i][j]);
		}
		printf("\n");
	}
	proceso1();
	proceso2();
	proceso3();
	proceso4();
	proceso5();
	proceso6();
	return 0;
}
Ejemplo n.º 2
0
int main(int argc, char const *argv[]){
	srand(time(NULL));
	int r = 0;
	printf("Matrices que se utilizaran:\n");
	printf("Matriz 1:\n");
	for (int i = 0; i < N; ++i){
		for (int j = 0; j < N; ++j){
			r = rand()%8 +1;
			matriz1[i][j] = r;
			printf("%d\t",matriz1[i][j]);
		}
		printf("\n");
	}
	printf("Matriz 2:\n");
	for (int i = 0; i < N; ++i){
		for (int j = 0; j < N; ++j){
			r = rand()%8 +1;
			matriz2[i][j] = r;
			printf("%d\t",matriz2[i][j]);
		}
		printf("\n");
	}

	for (int p = 1; p <= 6; ++p){
		id = fork();
		if(id){
			wait(NULL);
		}
		else{
			if(p == 1){
				proceso1();
				exit(0);
			}
			if(p == 2){
				proceso2();
				exit(0);
			}
			if(p == 3){
				proceso3();
				exit(0);
			}
			if(p == 4){
				proceso4();
				exit(0);
			}
			if(p == 5){
				proceso5();
				exit(0);
			}
			if(p == 6){
				proceso6();
				exit(0);
			}
		}
	}
	return 0;
}
Ejemplo n.º 3
0
IplImage * aplicar_filtro_juego(IplImage *src, void *param) {
    IplImage *srcPrev;

        void** p = (void**)param;
        IplImage **prev = (IplImage**)(p[0]);
        int tolerancia = (int)(p[1]);

        srcPrev = cvCloneImage(*prev);

    IplImage *out;
    if(maxY==0)
        maxY=src->height-radioBola;

    if(maxX==0)
        maxX=src->width-radioBola;

    IplImage *ss;
    ss=srcPrev;
    if(!back)
        back=cvLoadImage("images/image3.jpg",CV_LOAD_IMAGE_COLOR);
    if(!car)
        car=cvLoadImage("images/cosito.jpg",CV_LOAD_IMAGE_COLOR);
    if(!ball)
        ball=cvLoadImage("images/ball.png",CV_LOAD_IMAGE_COLOR);

    out = cvCloneImage( back );

    typedef int (buscarPos_fn_t) (unsigned char*, unsigned char*,int, int, int);
    buscarPos_fn_t *proceso;
    proceso = buscarPos_c;

    int pos=proceso((unsigned char*)src->imageData,(unsigned char*)ss->imageData,src->height, src->width, src->widthStep);
    pos=src->width-pos;
    if(pos<=CAR_RADIO+BORDE)
        pos=CAR_RADIO+BORDE;
    if(pos>=ANCHO-CAR_RADIO-BORDE)
        pos=ANCHO-CAR_RADIO-BORDE;

    typedef void (hacerAuto_fn_t) (unsigned char*, unsigned char*,int,int, int, int, int);
    hacerAuto_fn_t *proceso2;
    proceso2 = hacerAuto_c;
    proceso2((unsigned char*)car->imageData,(unsigned char*)out->imageData,pos,src->height, src->width, src->widthStep, car->widthStep);

    int posX=prox_ball_x();
    int posY=prox_ball_y(pos);

    typedef void (hacerPelota_fn_t) (unsigned char*, unsigned char*,int,int,int, int, int, int);
    hacerPelota_fn_t *proceso3;
    proceso3 = hacerPelota_c;
    proceso3((unsigned char*)ball->imageData,(unsigned char*)out->imageData,posX,posY,src->height, src->width, src->widthStep, ball->widthStep);

    cvReleaseImage(&ss);
    cvReleaseImage(&car);
    cvReleaseImage(&back);
    return out;

}
Ejemplo n.º 4
0
/* Parametros de entrada: argc,argv para darle la ip del servidor
 * Función: principal
 * Parametro de salida: 0
 * */
int main(int argc, char *argv[])
{
	int shmid,msgid,proc2,bucle=0,vez=0;
	msgid=msgget(KEYC,IPC_CREAT|0666);//creamos una COLA
	shmid=shmget(KEYM,sizeof(MEMO),IPC_CREAT | 0666); //creamos MEMORIA COMPARTIDA
	pn=(MEMO *)shmat(shmid,0,0);
	signal(SIGUSR1,minutos);
	printf("PUNTO 1\n");
	if(argc<2)printf("Error en parametros\n");
	else
	{
		proc2=fork();
		switch(proc2)
		{
			case -1:
					printf("Error en proceso lector\n");
					break;
			case 0:
			
					while(bucle==0)
					{
						if (espera==0)
						{
							vez++;
							printf("Entra proceso. Comprobación nº: %d\n",vez);
							printf("El total de libros enviados al servidor es: %d\n",pn->enviados);
							sleep(2);
							proceso2(argv[1]);
							espera=1;
						}
					}
					break;
			default:
					while (bucle==0)
					{
						kill(proc2,SIGUSR1);
						sleep(20);//Espera 20 segundos						
					}
		}
	}
	close(msgid);//cerramos cola 
	close(shmid);//cerramos memoria
	return 0;
}