Ir para conteúdo
Fórum Script Brasil
  • 0

PerguntasScript

Pergunta

Fiz em C um programa no Linux de multiplicação de matrizes de ordem 1000 A e B, (Ou seja, matrizes quadradas 1000x1000) que resulta em uma outra matriz C, só que agora eu tenho que adicionar threads e não sei como e nem aonde coloca-las. Eu preciso de 4 threads:

1 para calcular de 0 à 249;
2 para calcular de 250 à 499;
3 para calcular de 500 à 749;
4 para calcular de 750 à 999;

Segue código abaixo:

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int main(){

	pthread_t thread_1;
	pthread_t thread_2;
	pthread_t thread_3;
	pthread_t thread_4;
	
	int i;
	int j;
	int linhas;
	int colunas;
	int ordem;

	long T1;
    	long T2;
    	float delta;
	
	printf("Digite a ordem das matrizes quadradas A e B: ");
	scanf("%d", &ordem);
	
	T1 = clock();
	
	printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem);
	
	ordem = ordem - 1;
	
	linhas = ordem;
	colunas = ordem;
	
	float A[linhas+1][colunas+1];
	float B[linhas+1][colunas+1];
	
	for(i = 0; i <= linhas; i++){
		
		for(j = 0; j <= colunas; j++){
			
			printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1);
			scanf("%f", &A[i][j]);
			
			printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1);
			scanf("%f", &B[i][j]);
			
		}
	}
	
	printf("\nA multiplicacao das matrizes A e B:\n\n");
	
	for(i = 0; i <= linhas; i++) {
		
    	for(j = 0; j <= colunas; j++) {
    		
    		float produto[linhas+1][colunas+1];

        	for(int AUX = 0; AUX <= ordem; AUX++) {
        		
            	produto[i][j] += A[i][AUX] * B[AUX][j];
                
            }
            
            printf("%.2f ",produto[i][j]);
            
        }
        
        printf("\n");
	}
	
	T2 = clock();
    delta = (float)(T2-T1)/CLOCKS_PER_SEC;
    
    printf("\n\nTempo %.5f segundos",delta);

	return 0;
	
}

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...