elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / No me reconoce Variable! Ayuda en: 21 Mayo 2013, 20:48 pm
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:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <string.h>
  5. #include <pthread.h>
  6.  
  7.  
  8. int P[100];
  9. int H[25],A[25], F[25], G[25];
  10. int i,sum = 0,sum2 = 0,sum3 = 0,sum4 = 0;
  11. float pro,pro1,pro2,pro3,pro4, resultadofinal ;
  12.  
  13.  
  14. void sacaraleatorios(){
  15.  
  16. for(i=0;i<100;i++)
  17.        P[i]=rand()%1000;
  18.        printf("Numeros Aleatorios \n" );
  19.    for(i=0;i<100;i++){
  20.        printf("%d",P[i]);
  21.        printf(",");
  22.  
  23.        }
  24.       printf("\n");
  25. }
  26.  
  27. void *usaSacaraleatorios(void *arg){
  28.    sacaraleatorios();
  29.    return NULL;
  30. }
  31.  
  32. void imprimealeatoriosparte1(){
  33.  
  34. memcpy (H,P,100*sizeof(int));
  35. printf("\n");
  36. //printf("Numeros Aleatorios 25  de H \n" );
  37.    for(i=0;i<25;i++){
  38.        //printf("%d ",H[i]);
  39.        //printf("\n");
  40.        sum=sum+H[i];
  41.        }
  42.        pro=sum/25;
  43.        printf("El promedio del Hilo1 es %.2f",pro );
  44.        printf("\n");
  45.  
  46.  
  47.  
  48. }
  49. void *usaImprimealeatorios(void *arg){
  50.    imprimealeatoriosparte1();
  51.    return NULL;
  52. }
  53.  
  54. void imprimealeatoriosparte2(){
  55. memcpy (A,P + 25, 100*sizeof(int));      
  56. //printf("Numeros Aleatorios 25  de A \n" );
  57.    for(i=0;i<25;i++){
  58.        //printf("%d ",A[i]);
  59.        //printf("\n");
  60.        sum2=sum2+A[i];
  61.        }
  62.        pro2=sum2/25;
  63.        printf("El promedio del hilo2 es %.2f",pro2 );
  64.        printf("\n");
  65.  
  66.  
  67.  }
  68. void *usaImprimealeatorios2(void *arg){
  69.    imprimealeatoriosparte2();
  70.    return NULL;
  71. }
  72. void imprimealeatoriosparte3(){
  73. memcpy (F,P + 50,100*sizeof(int));  
  74. //printf("Numeros Aleatorios 25  de F \n" );
  75.    for(i=0;i<25;i++){
  76.        //printf("%d ",F[i]);
  77.        //printf("\n");
  78.        sum3=sum3+F[i];
  79.        }
  80.        pro3=sum3/25;
  81.        printf("El promedio del Hilo3 es %.2f",pro3 );
  82.        printf("\n");
  83.  
  84. }
  85. void *usaImprimealeatorios3(void *arg){
  86.    imprimealeatoriosparte3();
  87.    return NULL;
  88. }
  89. void imprimealeatoriosparte4(){
  90. memcpy (G,P+75,100*sizeof(int));      
  91. //printf("Numeros Aleatorios 25  de G \n" );
  92.    for(i=0;i<25;i++){
  93.        //printf("%d ",G[i]);
  94.        //printf("\n");
  95.        sum4=sum4+G[i];
  96.        }
  97.        pro4=sum4/25;
  98.        printf("El promedio del Hilo4 es %.2f",pro4 );
  99.        printf("\n");  
  100.  
  101. }
  102. void *usaImprimealeatorios4(void *arg){
  103.    imprimealeatoriosparte4();
  104.  
  105.  
  106.  
  107.    return NULL;
  108. }
  109.  
  110.  
  111.  
  112. int main(int argc, char* argv[]){
  113.  
  114. srand(time(NULL));
  115. sacaraleatorios();
  116.  
  117.    pthread_t hiloHijo1;
  118.    pthread_t hiloHijo2;
  119.    pthread_t hiloHijo3;
  120.    pthread_t hiloHijo4;
  121.  
  122.    pthread_create(&hiloHijo1,NULL,usaImprimealeatorios,NULL) ;
  123.    pthread_join(hiloHijo1, NULL);
  124.  
  125.    pthread_create(&hiloHijo2,NULL,usaImprimealeatorios2,NULL) ;
  126.    pthread_join(hiloHijo2, NULL);
  127.  
  128.    pthread_create(&hiloHijo3,NULL,usaImprimealeatorios3,NULL) ;
  129.    pthread_join(hiloHijo3, NULL);
  130.  
  131.    pthread_create(&hiloHijo4,NULL,usaImprimealeatorios4,NULL) ;
  132.    pthread_join(hiloHijo4, NULL);
  133.  
  134.  
  135.     printf(" Hilo1 es %.2f",pro);
  136.     printf(" Hilo2 es %.2f",pro2 );
  137.     printf(" Hilo3 es %.2f",pro3 );
  138.     printf(" Hilo4 es %.2f",pro4 );
  139.  
  140.       resultadofinal = (pro + pro2 + pro3 + pro4 )/4;
  141.       printf("El promedio total  es: %f\n", resultadofinal);
  142.  
  143. return 0;
  144. }
  145.  
  146.  
  147.  
2  Programación / Programación C/C++ / Ayuda con C en: 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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines