Ir ao conteúdo
  • Cadastre-se
ThiagoOliveira98

C Implementar um programa que execute as seguintes operações com matrizes

Recommended Posts

Implementar um programa em Linguagem C que execute as seguintes operações com matrizes:

• Produto Escalar

O programa deve solicitar as dimensões e os valores de uma matriz, além de um número (inteiro ou em ponto flutuante) e apresentar, na tela, o resultado do produto escalar do número pela matriz

. • Soma de Matrizes

O programa deve ler as dimensões e os valores de duas matrizes A e B. Depois, ele deve apresentar o resultado da soma das matrizes A e B. Lembre-se que duas matrizes podem ser somadas apenas se possuem as mesmas dimensões.

• Multiplicação de Matrizes

O programa deve ler as dimensões e os valores de duas matrizes A e B. Depois, ele deve apresentar o resultado da multiplicação matricial de A por B. São solicitadas as seguintes características para o programa: 1. O programa deve apresentar um menu para que o usuário escolha a operação a realizar. 2. O código do programa deve estar organizado em pelo menos 3 subrotinas, uma para cada uma das operações listadas acima. 3. O programa deve solicitar ao usuário que digite as matrizes a serem operadas O tamanho máximo de matriz que será digitado será 5x5. 4. Para cada matriz lida, o programa deve primeiro solicitar as dimensões (n linhas e m colunas) da matriz. Estes números devem ser positivos e menores ou iguais a 5. Se for fornecido um número inválido (e.g. -1, 10, -92), o programa deverá solicitar o valor novamente.

 

 

adicionado 2 minutos depois

Apenas consegui chegar ate essa parte

float matriz[5][5];
int n, m;
int i, j;
int k;
int op;
int largura = 12;
float Res;,
#define linha 5
#define coluna 5

         printf("\n\tEntre com o primeiro valor: \n");
         scanf("%d", &n);
         printf("\n\tEntre com o segundo valor: \n");
         scanf("%d", &m);
         printf("\n\tEntre com a opcao desejada: \n");
         printf("1 - Produto Escalar\n");
         printf("2 - Soma de Matrizes\n");
         printf("3 - Multiplicação de Matrizes\n");
         scanf("%d", &op);
         if(op == 1)
         {
                  Res = n + m;
                  printf("\nO resultado do produto eh: %f\n", Res);
         }
         if(op == 2)
         {
                  Res = n + m;
                  printf("\nO resultado da soma eh: %f\n", Res);
         }
         if(op == 3)
         {
                  Res = n * m;
                  printf("\nO resultado da multiplicacao eh: %f\n", Res);
         }
         }

         system("pause");
         return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @ThiagoOliveira98. Seja bem vindo ao Fórum do Clube do Hardware.

 

Apenas peguei o seu código e reorganizei:

#include <stdio.h>

int main() {   
    float matriz[5][5];
    int n, m;
    int i, j;
    int k;
    int op;
    int largura = 12;
    //float Res;,  SINTAXE INCORRETA
    float Res = 0;
    #define linha  5
    #define coluna 5
    
    printf("\n\tEntre com o primeiro valor: \n");
    scanf("%d", &n);
    printf("\n\tEntre com o segundo valor: \n");
    scanf("%d", &m);
    printf("\n\tEntre com a opcao desejada: \n");
    printf("1 - Produto Escalar\n");
    printf("2 - Soma de Matrizes\n");
    printf("3 - Multiplicação de Matrizes\n");
    scanf("%d", &op);
    if(op == 1) {
        Res = n + m;
        printf("\nO resultado do produto eh: %f\n", Res);
    }
    if(op == 2) {
        Res = n + m;
        printf("\nO resultado da soma eh: %f\n", Res);
    }
    if(op == 3) {
        Res = n * m;
        printf("\nO resultado da multiplicacao eh: %f\n", Res);
    }
    system("pause");
    return 0;
}

 

Então, qual a sua dúvida?

adicionado 3 minutos depois

Para adiantar, sugiro o seguinte: tente fazer um parte de cada vez.

 

Por exemplo, primeiro implemente:

26 minutos atrás, ThiagoOliveira98 disse:

• Produto Escalar

O programa deve solicitar as dimensões e os valores de uma matriz, além de um número (inteiro ou em ponto flutuante) e apresentar, na tela, o resultado do produto escalar do número pela matriz

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, ThiagoOliveira98 disse:

Obrigado @SimonVegas

Minha dúvida eh que nao estou conseguindo proseguir com meu programa, estou perdido nesse conteúdo 

 

Então o problema é que não entende os conceitos matemáticos? Você sabe o que são e como fazer matematicamente essas operações com matrizes (produto escalar de um número por uma matriz, soma entre 2 matrizes, multiplicação entre 2 matrizes)?

 

Nesse caso seria melhor você estudar esses assuntos primeiro.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, ThiagoOliveira98 disse:

Obrigado @SimonVegas

Minha dúvida eh que nao estou conseguindo proseguir com meu programa, estou perdido nesse conteúdo 

 

@ThiagoOliveira98, perceba que você está com dúvidas até sobre em ter dúvidas, rs. :D
 

Brincadeiras a parte, então... é preciso se achar. Vamos lá:

 

A dica inicial é: primeiramente entenda o problema.

 

Por exemplo... uma sugestão foi:

 

9 horas atrás, Simon Viegas disse:

Por exemplo, primeiro implemente:

10 horas atrás, ThiagoOliveira98 disse:

• Produto Escalar

O programa deve solicitar as dimensões e os valores de uma matriz, além de um número (inteiro ou em ponto flutuante) e apresentar, na tela, o resultado do produto escalar do número pela matriz

 

Qual a sua dúvida sobre essa orientação? alguma coisa você precisa entender... uma coisa é não conseguir executar, outra é não saber o que se precisa fazer!!!

 

Perceba que o enunciado já dá os passos a serem executados, algo como:

- Ler as dimensões da matriz;

- Ler os valores da matriz (o que subentende que precisa criar a matriz com a dimensão lida);

- Ler um número (que será usado para calcular o produto escalar);

- Apresentar na tela o resultado do produto escalar do número pela matriz. (que subentende que será necessário calcular o produto escalar).

 

Ai, quando se perguntam:

9 horas atrás, Simon Viegas disse:

Então, qual a sua dúvida?

 

Uma resposta poderia ser: "Então, eu não sei o que é uma produto escalar. Nunca ouvi falar nisso". Ou "Que raios é um ponto flutuante?", ou "Eu sei como calcular um produto escalar... já dei uma pesquisa no Google sobre isso.. mas não faço ideia como implementar esse cálculo em C :(" etc

 

Ou seja, seria necessário saber o que você não sabe! Entende?

 

 

Uma segunda dica é: evite tentar fazer tudo de uma vez, vá implementando aos poucos.

 

Por exemplo, começando a implementar a parte do "Produto Escalar":

/*

//AQUI DEIXEI O ENUNCIADO COMPLETO PARA FACILITAR A CONSULTA!!!

Implementar um programa em Linguagem C que execute as seguintes operações com matrizes:

• Produto Escalar
  O programa deve solicitar as dimensões e os valores de uma matriz, além de um número
  (inteiro ou em ponto flutuante) e apresentar, na tela, o resultado do produto escalar
  do número pela matriz

• Soma de Matrizes
  O programa deve ler as dimensões e os valores de duas matrizes A e B. Depois, ele deve
  apresentar o resultado da soma das matrizes A e B. Lembre-se que duas matrizes podem
  ser somadas apenas se possuem as mesmas dimensões.

• Multiplicação de Matrizes
  O programa deve ler as dimensões e os valores de duas matrizes A e B. Depois, ele deve
  apresentar o resultado da multiplicação matricial de A por B. São solicitadas as 
  seguintes características para o programa: 1. O programa deve apresentar um menu para
  que o usuário escolha a operação a realizar. 2. O código do programa deve estar
  organizado em pelo menos 3 subrotinas, uma para cada uma das operações listadas acima.
  3. O programa deve solicitar ao usuário que digite as matrizes a serem operadas
  O tamanho máximo de matriz que será digitado será 5x5. 4. Para cada matriz lida, o
  programa deve primeiro solicitar as dimensões (n linhas e m colunas) da matriz.
  Estes números devem ser positivos e menores ou iguais a 5. Se for fornecido um 
  número inválido (e.g. -1, 10, -92), o programa deverá solicitar o valor novamente. 
*/


//VAMOS IMPLEMENTAR INICIALMENTE A PARTE DO "PRODUTO ESCALAR"

#include <stdio.h>
int main() {
    int m,n;
    int i,j;
    int op;
    
    //MENU DE OPÇÕES
    printf("\n\tEntre com a opcao desejada: \n");
    printf("1 - Produto Escalar             \n");
    printf("2 - EM CONSTRUÇÃO               \n");
    printf("3 - EM CONSTRUÇÃO               \n");
    scanf("%d", &op);
    if(op == 1) { //aqui implementamos a parte do PE
        //LER AS DIMENSÕES DA MATRIZ
        printf("\n\tEntre com o primeiro valor: \n");
        scanf("%d", &n);
        printf("\n\tEntre com o segundo valor: \n");
        scanf("%d", &m);
        //CRIA A MATRIZ COM A DIMESSÃO INFORMADA
        float matriz[m][n];
        
        //LER OS DADOS DA MATRIZ
        for (i=0;i<m;i++) { //para cada linha da matriz
            for (j=0;j<n;j++) { //para cada coluna da matriz
                
                                
            }
        }
        
        
        //LER O NUMERO
        
                
        //CALCULAR PRODUTO ESCALAR
        
        
        //EXIBIR MATRIZ RESULTANTE
    
    
    }
    system("pause");
    return 0;
}

 

Compare o código com o enunciado... aí tente dar continuidade ao código. A depender, vai reajustando também.

 

Obs.: lembre-se se fazer uma parte de cada vez... agora você precisa preencher a matriz. Tente garantir que a matriz está sendo lida corretamente (uma forma verificar é, depois de ler, imprimir a matriz)... Se você já sane como ler uma matriz, beleza, implementa e vai para o próximo... por ai vai... mas veja: sempre deixe o código compilável! garanta que antes da "parte nova que está implementando" o código esteja funcionando!!!

 

Se tiver dúvidas sobre alguma parte, nos indique em qual parte... Precisa especificar.

 

 

No aguardo.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×