![](https://www.clubedohardware.com.br/uploads/themes/set_resources_52/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
hmSantos
-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por hmSantos
-
-
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"); }
-
1
-
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
Somar diagonais de uma matriz
em C/C#/C++
Postado
@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á!