Aqui el codigo:
Código
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <pthread.h> int P[100]; int H[25],A[25], F[25], G[25]; int i,sum = 0,sum2 = 0,sum3 = 0,sum4 = 0; float pro,pro1,pro2,pro3,pro4, resultadofinal ; void sacaraleatorios(){ for(i=0;i<100;i++) for(i=0;i<100;i++){ } } void *usaSacaraleatorios(void *arg){ sacaraleatorios(); return NULL; } void imprimealeatoriosparte1(){ //printf("Numeros Aleatorios 25 de H \n" ); for(i=0;i<25;i++){ //printf("%d ",H[i]); //printf("\n"); sum=sum+H[i]; } pro=sum/25; } void *usaImprimealeatorios(void *arg){ imprimealeatoriosparte1(); return NULL; } void imprimealeatoriosparte2(){ //printf("Numeros Aleatorios 25 de A \n" ); for(i=0;i<25;i++){ //printf("%d ",A[i]); //printf("\n"); sum2=sum2+A[i]; } pro2=sum2/25; } void *usaImprimealeatorios2(void *arg){ imprimealeatoriosparte2(); return NULL; } void imprimealeatoriosparte3(){ //printf("Numeros Aleatorios 25 de F \n" ); for(i=0;i<25;i++){ //printf("%d ",F[i]); //printf("\n"); sum3=sum3+F[i]; } pro3=sum3/25; } void *usaImprimealeatorios3(void *arg){ imprimealeatoriosparte3(); return NULL; } void imprimealeatoriosparte4(){ //printf("Numeros Aleatorios 25 de G \n" ); for(i=0;i<25;i++){ //printf("%d ",G[i]); //printf("\n"); sum4=sum4+G[i]; } pro4=sum4/25; } void *usaImprimealeatorios4(void *arg){ imprimealeatoriosparte4(); return NULL; } int main(int argc, char* argv[]){ sacaraleatorios(); pthread_t hiloHijo1; pthread_t hiloHijo2; pthread_t hiloHijo3; pthread_t hiloHijo4; pthread_create(&hiloHijo1,NULL,usaImprimealeatorios,NULL) ; pthread_join(hiloHijo1, NULL); pthread_create(&hiloHijo2,NULL,usaImprimealeatorios2,NULL) ; pthread_join(hiloHijo2, NULL); pthread_create(&hiloHijo3,NULL,usaImprimealeatorios3,NULL) ; pthread_join(hiloHijo3, NULL); pthread_create(&hiloHijo4,NULL,usaImprimealeatorios4,NULL) ; pthread_join(hiloHijo4, NULL); resultadofinal = (pro + pro2 + pro3 + pro4 )/4; return 0; }