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

Matrizes


William Gomes

Pergunta

Gente preciso de ajuda com esse exercício, pois estou fazendo e fica dando finalizar programa e o cmd fecha.

"Crie um programa que leia o número de linhas e colunas de duas matrizes, bem como seus conteúdos e em seguida calcule o produto delas, mostrando o resultado na tela."

Esse é meu código:

#include <stdio.h>
#define MAX 100
int main(void){

    int m, n, a, b, matrizA[MAX][MAX], matrizB[MAX][MAX], i, j;

    printf("Informe a dimensao da matriz(m n):\n");
    scanf("%d%d, &m, &n");

    for(i=0 ; i<m ; i++)
        for(j=0 ; j<n ; j++){
        printf("Informe a Matriz A[%2d][%2d]: ", i, j);
        scanf("%d", &matrizA[i][j]);
        }
    for (i = 0; i < a; i++)
        for (j = 0; j < b; j++) {
        printf("Informe a Matriz B[%2d][%2d]: ", i, j);
        scanf("%d", &matrizB[i][j]);
        }


return 0;
}

 

Editado por William Gomes
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa noite. O fato de finalizar o programa é que na hora que você solicita a dimensão da matriz, as variáveis "m'"e "n", estão entre aspas " ", o que acaba gerando erro. Troque esta linha:

scanf("%d%d, &m, &n");

Por esta:

scanf("%d %d",&m,&n);

Na hora de inserir os dados da matriz digite o valor de 'm' + espaço + valor de n + ENTER, ou para ficar mais prático use um scanf para m e outro scanf para n.

Espero ter ajudado ;)

Link para o comentário
Compartilhar em outros sites

  • 0

A Fernanda está certa. Ler os valores de m e n do modo como ele colocou ou o mais recomendado ainda seria ler o valor de m e depois de n.

Mas olhando seu código, você não está fazendo um correto uso das chaves nos comandos for.

A maneira ideal para fazer esse exercício com o correto uso das chaves seria assim:

	for(i = 0 ; i < m ; i++)
    {
		for(j = 0 ; j < n; j++)
		{
        	printf("Informe a Matriz A[%2d][%2d]: ", i, j);
        	scanf("%d", &matrizA[i][j]);
        }
    }
    for (i = 0; i < a; i++)
    {
		for (j = 0; j < b; j++) 
		{
        	printf("Informe a Matriz B[%2d][%2d]: ", i, j);
        	scanf("%d", &matrizB[i][j]);
        }
    }

Outro problema é q as variáveis a e b não estão inicializadas, ou não receberam nenhum valor. Ou seja, ao executar o código não será executado o segundo bloco de FOR,  pois assumisse q o valor de a é 0 e b tbém. Com isso a condição i < a resulta em falsa bem como a condição j < b e por isso o loop com o FOR não é executado.

Creio q o ideal seria vc dizer exatamente qual o objetivo do exercício para daí saber como resolver

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