Autor Tema: Hola, tengo que responder esto pero no se como  (Leído 508 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Starchaser
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 11
  • cl
    Ingreso: Agosto de 2020
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Hola, tengo que responder esto pero no se como
« on: 16 Noviembre de 2020, 04:42 pm »
1.   Dado el siguiente código:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
unsigned int cnt = 0;
void ∗count ( void ∗arg ) {             /*cuerpo de cada hebra*/
    int i ;
    for ( i = 0; i < 1000; i ++)
          cnt ++;
   return NULL ;
}

int main ( void ) {
   pthread_t  tids[4] ;
   int i ;
   for ( i = 0; i < 4; i ++)
            pthread_create (&tids , NULL, count , NULL ) ;
   for ( i = 0; i < 4; i ++)
         pthread _join ( tids[ i ] , NULL ) ;
printf( " cnt = %u \n " , cnt ) ;
return 0;
}
a)   Indique cuál debería ser el resultado de la variable cnt (justifica tu respuesta).
b)   Ejecuta el código varias veces y compara los resultados  obtenidos con tu respuesta en a).

Usamos rextester en lenguaje C(gcc)
al poner el código me manda muchos errores y no entiendo porqué.

Conectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1213
  • ar
    Ingreso: Enero de 2014
  • Digitalizando tu Mundo
  • Sexo: Masculino
    • Ver Perfil
    • La nueva era del conocimiento
Re:Hola, tengo que responder esto pero no se como
« Respuesta #1 on: 16 Noviembre de 2020, 08:21 pm »
Tiene un principio y fin no estoy entendiendo del todo, ¿que errores te marca? por que me parece deberia funcionar correctamente...


Saludos Familia!
{alt}

Desconectado Starchaser
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 11
  • cl
    Ingreso: Agosto de 2020
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Hola, tengo que responder esto pero no se como
« Respuesta #2 on: 16 Noviembre de 2020, 10:32 pm »
Tiene un principio y fin no estoy entendiendo del todo, ¿que errores te marca? por que me parece deberia funcionar correctamente...


Saludos Familia!

salen muchos errores, mira
https://rextester.com/KDU48206

Tema unido automáticamente » 16 Noviembre de 2020, 11:56 pm
puedes ejecutarlo para saber si te funciona?
la profesora lo paso en word y al parecer se cambiaron algunos símbolos
« Última Modificación: 16 Noviembre de 2020, 11:56 pm por Starchaser »

Conectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1213
  • ar
    Ingreso: Enero de 2014
  • Digitalizando tu Mundo
  • Sexo: Masculino
    • Ver Perfil
    • La nueva era del conocimiento
Re:Hola, tengo que responder esto pero no se como
« Respuesta #3 on: 17 Noviembre de 2020, 09:55 pm »
... desde el vamos si lo pasa por word algo esta mal, sobre todo algunos signos son muy toca pelotas al momento de querer correrlos. Y mirando la imagen veo varios problemas no lee correctamente la setencia dada o no toma el valor null, alguno de tus compañeros tuvo el mismo problema?


Saludos Familia!
{alt}

Desconectado Starchaser
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 11
  • cl
    Ingreso: Agosto de 2020
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Hola, tengo que responder esto pero no se como
« Respuesta #4 on: 24 Noviembre de 2020, 10:07 am »
Si, ahora lo estamos viendo y los errores son exactamente los que tu dices, la profesora ya nos contó y arreglo el problema.
Muchas gracias.

Conectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1213
  • ar
    Ingreso: Enero de 2014
  • Digitalizando tu Mundo
  • Sexo: Masculino
    • Ver Perfil
    • La nueva era del conocimiento
Re:Hola, tengo que responder esto pero no se como
« Respuesta #5 on: 24 Noviembre de 2020, 09:29 pm »
Genial, cuando lo tengas si puedes vuelve a comentarlo para si otro se topa con el mismo problema :)!


Saludos Familia!
{alt}

Desconectado Príncipe_Azul

  • Platinum
  • *
  • Mensajes: 136
  • ar
    Ingreso: Julio de 2015
  • Colaborador
  • Sexo: Masculino
    • Ver Perfil
    • Foro ArgentinaIRC - Ayuda de Programación General, IRC y mIRC Scripting
Re:Hola, tengo que responder esto pero no se como
« Respuesta #6 on: 22 Febrero de 2021, 10:28 am »
Hola, solo comentar y recomendar que en los bucles for se deben usar llaves de apertura y cierre, ejemplo:

Código
    for ( i = 0; i < 1000; i++)
    {
          cnt++;
    }

Aunque en C es importante la indentación, pero más importante son las llaves, ya que son las que realmente definen el inicio y fin de instrucciones dentro de las llaves.

Si el compilador no te dio errores por no usarlas, es muy probable porque tan solo tenía una sola instrucción, de todas maneras siempre hay que acostumbrarse a utilizarlas.

Otro punto a tener en cuenta, ésto no debe tener espacios:

i ++;
cnt ++;

Debería ser:

i++;
cnt++;


Saludos
« Última Modificación: 22 Febrero de 2021, 10:32 am por Príncipe_Azul »
Enviado desde AdkImode