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

O que há de errado? Soma de Matrizes Quadradas


PerguntasScript

Pergunta

Não estou conseguindo identificar o erro, observe, se fazer uma matriz quadrada de ordem 2 o que acontece com a soma de [1][2] e [2][1]:

#include <stdio.h>


#include <stdlib.h>


#include <time.h>

int main (){

       int i;

       int j;

       int linhas;

       int colunas;

       int ordem;

       float A[i][j];

       float B[i][j];

      

       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);

      

       linhas = ordem;

       colunas = ordem;

      

       for(i = ; i < linhas; i++){

            

             for(j = ; 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]);

                   

             }

       }

      

       for(i = ; i < linhas; i++){

            

             for(j = ; j < colunas; j++){

 

                    printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]);

 

             }

       }

      

       T2 = clock();

    delta = (float)(T2-T1)/CLOCKS_PER_SEC;

   

    printf("\n\nTempo %.5f segundos",delta);

 

       return ;

      

}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Apenas pequenos ajustes são necessários:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main (){

       int i;

       int j;

       int linhas;

       int colunas;

       int ordem;

       long T1;

    long T2;

    float delta;

	//inicialize só depois de entrar com a ordem, e inicialize com os valores das variáveis linhas e colunas.

      
       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);

       //Diferente de como é na realidade cotidiana, arrays iniciam sempre o primeiro elemento no 0, logo ordem = ordem - 1.
      
	   ordem = ordem - 1;
       
       linhas = ordem;
 
       colunas = ordem;
       
       //agora sim insira as matrizes:
       
		float A[linhas][colunas];

       float B[linhas][colunas];

	//ajuste os testes lógicos para <= linhas e colunas. Pois quando   i == linhas    é preciso executar o for ainda mais uma vez.

      
       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]);

                   
             }

       }

      
       for(i = 0; i <= linhas; i++){

            
             for(j = 0; j <= colunas; j++){

 

                    printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]);

 

             }

       }

      
       T2 = clock();

    delta = (float)(T2-T1)/CLOCKS_PER_SEC;

   
    printf("\n\nTempo %.5f segundos",delta);

 //return 0;

       return 0;

      
}

 

Inicialize as matrizes só depois de entrar com a ordem e atribui-las a linhas e colunas.

Link para o comentário
Compartilhar em outros sites

  • 0
#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main (){

       int i;

       int j;

       int linhas;

       int colunas;

       int ordem;

       long T1;

    long T2;

    float delta;

	//inicialize só depois de entrar com a ordem, e inicialize com os valores das variáveis linhas e colunas.

      
       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);

       //Diferente de como é na realidade cotidiana, arrays iniciam sempre o primeiro elemento no 0, logo ordem = ordem - 1.
      ordem = ordem - 1;
      linhas = ordem;//se a ordem digitada foi 2 a linha e a coluna ira receber 1
 	  colunas = ordem;
	   
       
       
       
       //agora sim insira as matrizes:
       
		float A[linhas+1][colunas+1];//se deixar so linhas e colunas sera criada um matriz 1 por 1

       float B[linhas+1][colunas+1];

	//ajuste os testes lógicos para <= linhas e colunas. Pois quando   i == linhas    é preciso executar o for ainda mais uma vez.

     
      
       for(i =  ; i <= linhas; i++){

            
             for(j = ; 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]);

                   
             }

       } 
      
       for(i = ; i <= linhas; i++){

            
             for(j = ; j <= colunas; j++){

 

                    printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]);

 

             }

       }

      
       T2 = clock();

    delta = (float)(T2-T1)/CLOCKS_PER_SEC;

   
    printf("\n\nTempo %.5f segundos",delta);

 //return 0;

       return ;

      
}

 

Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...