Autor
|
Tema: No me reconoce Variable! Ayuda (Leído 2,848 veces)
|
fercho17
Desconectado
Mensajes: 4
|
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++) printf("Numeros Aleatorios \n" ); 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; printf("El promedio del Hilo1 es %.2f",pro ); } 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 ); } 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 ); } 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 ); } 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); 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; }
|
|
« Última modificación: 21 Mayo 2013, 21:09 pm por fercho17 »
|
En línea
|
|
|
|
CCross
Desconectado
Mensajes: 36
|
Hola fercho17 debes incluir tu codigo entre las etiquetas geSHI de C por que asi algunos caracteros simplemente no aparecen, es muy incomodo y confuso leer un codigo asi. Saludos
|
|
« Última modificación: 21 Mayo 2013, 21:03 pm por CCross »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Hola fercho17 debes incluir tu codigo entre las etiquetas GeSHi de C++ porque asi algunos caracteros simplemente no aparecen, y es muy incomodo leer un codigo asi.
Idem y de paso incluir las librerías que has usado e indentar un poco más el código.
Saluditos!.... ...REEDITO: Así está mejor.
|
|
« Última modificación: 21 Mayo 2013, 21:22 pm por leosansan »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Puse /25. en los /25 y .... :-) me ha dado una salida correcta:Numeros Aleatorios 376,875,513,530,611,726,646,772,457,743,906,590,220,316,37,99,419,87,849,345,581 ,472,912,66,128,439,559,486,187,82,484,927,672,387,911,693,894,742,869,643,486,8 65,651,410,132,725,161,20,121,957,660,252,679,133,616,852,636,540,598,743,682,35 6,91,16,630,962,497,75,544,729,250,506,914,660,689,874,989,500,428,792,576,334,6 63,694,211,817,730,434,147,670,183,289,366,665,852,944,482,951,800,211, El promedio del Hilo1 es 491.04 El promedio del hilo2 es 540.12 El promedio del Hilo3 es 532.40 El promedio del Hilo4 es 584.08 Hilo1 es 491.04 Hilo2 es 540.12 Hilo3 es 532.40 Hilo4 es 584.08 El promedio total es: 536.91 Process returned 0 (0x0) execution time : 0.053 s Press any key to continue. ]
Tampoco estaría de más poner /4. en lugar de /4, no es que sea imprescindible pero tratando con flotantes no me fio nada.Saluditos!. .... ..
|
|
« Última modificación: 21 Mayo 2013, 22:14 pm por leosansan »
|
En línea
|
|
|
|
fercho17
Desconectado
Mensajes: 4
|
Puse /25. en los /25 y .... :-) me ha dado una salida correcta:Numeros Aleatorios 376,875,513,530,611,726,646,772,457,743,906,590,220,316,37,99,419,87,849,345,581 ,472,912,66,128,439,559,486,187,82,484,927,672,387,911,693,894,742,869,643,486,8 65,651,410,132,725,161,20,121,957,660,252,679,133,616,852,636,540,598,743,682,35 6,91,16,630,962,497,75,544,729,250,506,914,660,689,874,989,500,428,792,576,334,6 63,694,211,817,730,434,147,670,183,289,366,665,852,944,482,951,800,211, El promedio del Hilo1 es 491.04 El promedio del hilo2 es 540.12 El promedio del Hilo3 es 532.40 El promedio del Hilo4 es 584.08 Hilo1 es 491.04 Hilo2 es 540.12 Hilo3 es 532.40 Hilo4 es 584.08 El promedio total es: 536.91 Process returned 0 (0x0) execution time : 0.053 s Press any key to continue. ]
Tampoco estaría de más poner /4. en lugar de /4, no es que sea imprescindible pero tratando con flotantes no me fio nada.Saluditos!. .... .. Amigo hice lo que tu colocaste pero no me ha funcionado!!
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Amigo hice lo que tu colocaste pero no me ha funcionado!!
El código que me ha funcionado, no recuerdo si hice alguna modificación más es:#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=0,pro1=0,pro2=0,pro3=0,pro4=0, resultadofinal=0 ; /*******************************************************/ void sacaraleatorios(){ printf("Numeros Aleatorios \n" ); for(i=0;i<100;i++) P[i]=rand()%1000; for(i=0;i<100;i++){ printf("%d",P[i]); printf(","); } printf("\b\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("\nEl promedio total es: %.2f\n", resultadofinal); return 0; } /*******************************************************/ /*******************************************************/
Y te pongo otra salida como comprobación de que furula: Saluditos!... ..
|
|
« Última modificación: 22 Mayo 2013, 09:54 am por leosansan »
|
En línea
|
|
|
|
|
fercho17
Desconectado
Mensajes: 4
|
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
AYUDA. Una variable con mas de un valor
Programación Visual Basic
|
Poyson
|
5
|
2,366
|
30 Septiembre 2005, 00:16 am
por Slasher-K
|
|
|
AYUDA CON VARIABLE EN VBS
Scripting
|
ignorantev1.1
|
0
|
2,157
|
21 Julio 2006, 01:06 am
por ignorantev1.1
|
|
|
Ayuda con una variable
Programación Visual Basic
|
BorecK
|
2
|
1,915
|
15 Enero 2007, 09:12 am
por NYlOn
|
|
|
Como imprimir el valor de una variable definida en una variable...
Scripting
|
nhaalclkiemr
|
5
|
7,051
|
3 Mayo 2007, 17:58 pm
por sirdarckcat
|
|
|
La variable de tipo Object o la variable de bloque With no está establecida
Programación Visual Basic
|
rubeng
|
5
|
12,412
|
17 Septiembre 2007, 00:04 am
por rubeng
|
|