Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - fercho17

#1
Hola Amigos!! Tengo el siguiente código y funciona bien, lo que pasa es que las variables pro y pro2 no me las reconoce para hacer la suma que esta en la variable resultadototal; le agradeceria el que pueda ayudarme!! Desde ya Gracias.

Aqui el codigo:

#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++)
        P[i]=rand()%1000;
        printf("Numeros Aleatorios \n" );
    for(i=0;i<100;i++){
        printf("%d",P[i]);
        printf(",");
       
        }
       printf("\n");
}

void *usaSacaraleatorios(void *arg){
    sacaraleatorios();
    return NULL;
}

void imprimealeatoriosparte1(){

memcpy (H,P,100*sizeof(int));
printf("\n");
//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;
        printf("El promedio del Hilo1 es %.2f",pro );
        printf("\n");
       
       
     
}
void *usaImprimealeatorios(void *arg){
    imprimealeatoriosparte1();
    return NULL;
}

void imprimealeatoriosparte2(){
memcpy (A,P + 25, 100*sizeof(int));      
//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;
        printf("El promedio del hilo2 es %.2f",pro2 );
        printf("\n");
       

  }
void *usaImprimealeatorios2(void *arg){
    imprimealeatoriosparte2();
    return NULL;
}
void imprimealeatoriosparte3(){
memcpy (F,P + 50,100*sizeof(int)); 
//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;
        printf("El promedio del Hilo3 es %.2f",pro3 );
        printf("\n");
       
}
void *usaImprimealeatorios3(void *arg){
    imprimealeatoriosparte3();
    return NULL;
}
void imprimealeatoriosparte4(){
memcpy (G,P+75,100*sizeof(int));        
//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;
        printf("El promedio del Hilo4 es %.2f",pro4 );
        printf("\n"); 
               
}
void *usaImprimealeatorios4(void *arg){
    imprimealeatoriosparte4();
   
   
   
    return NULL;
}



int main(int argc, char* argv[]){

srand(time(NULL));
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);


     printf(" Hilo1 es %.2f",pro);
     printf(" Hilo2 es %.2f",pro2 );
     printf(" Hilo3 es %.2f",pro3 );
     printf(" Hilo4 es %.2f",pro4 );

       resultadofinal = (pro + pro2 + pro3 + pro4 )/4;
       printf("El promedio total  es: %f\n", resultadofinal);

return 0;
}


#2
Programación C/C++ / Ayuda con C
9 Mayo 2013, 00:47 AM
Hola Comunidad!! soy nuevo en el foro, les puedo decir que voy a entrar a interactuar con el lenguaje C, donde lo hago con mucho agrado es con PHP.

Bueno se preguntaran que es lo que quiero, es un taller que me dejaron del instituto y me piden que haga un programa multihebra en C; en donde un padre crea un arreglo aleatorio de números digamos que de 1 a 10 y pues tendrira que pasar fragmentos de 5 elementos a 4 hebras que promedian el subarreglo y retornan este valor. Al terminar todas las hebras el padre despliegaria por pantalla la media o el promedio de los elementos del arreglo promediando el retorno de las 4 hebras.

Quien pueda ayudarme a encontrar bien una informacion acerca de esto o abriendo el campo de programar me serviría de mucho!! Gracias.