Como realizar a multiplicação vetor x matriz?
Olá pessoal,
Tenho o seguinte somatório:
#include <pthread.h>
#include <stdio.h>
#define DIMVET 100000000
#define NTHR 10 //constante que define o nro de threads
int vetor[DIMVET];
void funcThread(void val)
{
int ret = 10;
int soma=0,cont;
printf("Oi, thread %d!\n",(int)val);
ret = (DIMVET/NTHR) *(int)val;
for(cont=ret;cont<(DIMVET/NTHR + ret);cont++)
{
soma = soma + vetor[cont];
}
pthread_exit((void *) soma);
}//******************************************************
main()
{
pthread_t tid[NTHR]; //vetor que recebe o id de cada thread
int cont;
int somatorio =0;
void * retorno;
for(cont = 0;cont<DIMVET;cont++)
{
vetor[cont]=1;
}
for(cont=0;cont<NTHR;cont++)
{
printf("Criando a thread nro %d\n",cont);
pthread_create(&tid[cont], NULL, funcThread, (void *) cont);
}
for(cont=0;cont<NTHR;cont++)
{
pthread_join(tid[cont], &retorno);
somatorio = somatorio + (int)retorno;
}
printf("SOMATORIO = %d\n",somatorio);
pthread_exit(NULL);
}
Como realizar a multiplicação vetor x matriz?
A dimensão do vetor deve ser igual a dimensão da matriz (quadrada)
Discussão (4)
Carregando comentários...