Ir ao conteúdo
  • Cadastre-se

hmSantos

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

1
  1. @isrnick me ajudou bastante, obrigado. Você poderia me ajudar em como eu faço a soma de cada diagonal usando threads? Agradeço desde já!
  2. Preciso de uma ajuda enorme. Preciso fazer um programa em C no qual calcule as diagonais de uma matriz usando Threads conforme o enunciados: Conforme me orientaram, eu devo passar o valor da diagonal e do salto(mudança de diagonal) como parâmetros, mas não sei o que fazer com esses valores. Segue o código que eu consegui fazer até agora (esta incompleto pois não sei como proceder na função para somar as diagonais): OBS: tirei as funções que geram o arquivo com os valores da matriz e a função que atribui esses valores à matriz para o código ficar mais limpo e fácil de entender. typedef struct{ int diag=0; int salto; }ST; ST v; struct param *arg; void *somarMatriz(void *args){ ST * in = (ST *) args; int x=0, y=0; result = (float *) malloc((l+c-1)*sizeof(float)); x=0; for(i=; i<l+c-1; i++){ result[i]=0; } for(i=l-1; i>=0; i--){ x = y; for(j=0; j<c; j++){ result[x] += mat[i][j]; x++; } y++; } } int main (){ printf("Entre com o numero de linhas da matriz: \n"); scanf("%d", &l); printf("Entre com o numero de colunas da matriz: \n"); scanf("%d", &c); printf("Entre com o quantidade de Threads desejada:\n"); scanf("%d", &arg.salto); gerarArquivo(l, c); gerarMatriz(l, c); pthread_t threads[T]; pthread_attr_t attr; int rc; long t; void *status; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); for(t=0; t<T; t++){ rc = pthread_create(&threads[t], NULL, somarMatriz, (void*)&v); if (rc){ printf("ERRO"); exit(-1); } } pthread_exit((void *)NULL); printf("\n\n"); printf("Resultados:\n"); for(i=0; i<l+c-1; i++){ printf("%d\t", result[i]); } printf("\n"); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...