comment utiliser les threads et un tableau en C

la question est:
pour écrire le programme mondial entier à une seule dimension matrice A de taille N par un facteur de M. l'utilisation de threads , le thread principal initialise Une et M entiers aléatoires, crée des threads N tels que l'ith thread trouve l'Ia = M * Ai, et enfin imprime le tableau A.

mon problème que j'ai une erreur avec initialisation de tableau aussi je ne suis pas sûr de faire les fils dans le bon sens.
j'espère que j'ai expliqué mon problème clairement.

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int M;
int [10] A;

void *run(void *t)
{
   A[(int)t]=A[(int)t]*M;
   pthread_exit(NULL);
}


int main()
{
   pthread_t [10] th;
   srand(time(0))%20;
   M=rand();
   int t;
   for(t = 0; t < 10; t++)
   {
     pthread_create(&th[t], NULL, run, (void *)t);
   }

   int j;
   for(j=0;j<10;j++)
    A[j]=j;

   int i;
   for(i = 0; i < 10; i++)
   {
     pthread_join(th[i], NULL);
     printf("%d:  %d\n", i,A[i]);
   }

   printf("Thread main\n");
   pthread_exit(NULL);
}

ce sont les erreurs:

que1.c:5: error: expected identifier or ‘(’ before ‘[’ token
que1.c: In function run’:
que1.c:9: error: A undeclared (first use in this function)
que1.c:9: error: (Each undeclared identifier is reported only once
que1.c:9: error: for each function it appears in.)
que1.c: In function main’:
que1.c:16: error: expected identifier or ‘(’ before ‘[’ token
que1.c:17: error: void value not ignored as it ought to be
que1.c:22: error: th undeclared (first use in this function)
que1.c:27: error: A undeclared (first use in this function)
  • int A[10]; /* */
  • Pouvez-vous corriger votre code ci-dessus aussi?
InformationsquelleAutor tom hallen | 2011-03-16