Ir ao conteúdo

Posts recomendados

Postado

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

 

  • Membro VIP
Postado

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.

Postado
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
  • Membro VIP
Postado
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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!