Jump to content
Fórum Script Brasil
  • 0

matriz


thematrix

Question

olá amigos, estou batendo cabeça neste algoritmo, e gostaria da ajuda de vocês, o problema e o seguinte, estou fazendo um algoritmo que tenha uma função que leia 2 vetores e os multiplique, exemplo vt1* vt2[2] e resultado desta operação seja colocado em uma matriz, detalhe a matriz tem que ser uma função, eu quero saber como faço para passar os valores da multiplicação dos vetores para dentro da função da matriz.

obs: uso a ide code blocks. então não preciso da blibioteca conio.h. ;D

#include<stdio.h>

#define L 9 //numero de linha dos vetores

#define LI 3 // numero de linhas da matriz

#define C 3 // numero de colunas da matriz

void mtz(int x[L][C]);

void vt(int c[L], int d[L]);

main()

{

int mt[L][C];

int vtz[L],x[L];

vt(vtz,x);

mtz(mt);

}

void vt(int c[L], int d[L])

{

int i,mul;

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

printf("Digite os numeros da matriz 1: ");

scanf("%d",&c);

}

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

printf("Digite os numeros da matriz 2: ");

scanf("%d",&d);

}

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

mul = c*d;

}

}

void mtz(int x[L][C]) // funcao da matriz

}

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Não existe uma função ou algo do gênero que coloque o resultado de uma operação em uma matriz.

O que você pode fazer é pegar este resultado e atribuir á uma posição da matriz.

Link to comment
Share on other sites

  • 0

como faço para passar os valores da multiplicação dos vetores para dentro da função da matriz

Por parâmetro

Uma matriz, dependendo do tamanho, tem várias posições. Com essa explicação que tu deu não tem como adivinhar como tu quer esta função.

Exemplo:

a matriz tem que ser uma função

Matriz é matriz, função é função

Link to comment
Share on other sites

  • 0

uma função que passe os valores da multiplicação dos vetores para uma matriz;

exemplo ;

a multiplicação entre os 2 vetores deu 3 4 6 14 12 15 18 19 20

matriz linha 0 coluna 0: 3

matriz linha 0 coluna 1: 4

matriz linha 0 coluna 2: 6

matriz linha 1 coluna 0: 14

matriz linha 1 coluna 1: 12

matriz linha 1 coluna 2: 15

matriz linha 2 coluna 0: 18

matriz linha 2 coluna 1: 19

matriz linha 2 coluna 2: 20

no caso seria uma função, que preencheria uma matriz de n elementos com o resultado da multiplicação dos vetores

tipo assim:

void mt(int x[3][3])

{

int i,j;

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

for(J=0;J<3;J++){

x = res_mut_vet;

}

}

}

O que eu gostaria de saber e como eu pego os valores da multiplicação que foram gerados na função dos vetores, e passo para função da matriz

Link to comment
Share on other sites

  • 0

Eu faria mais ou menos assim:

#include<stdio.h>
#define L 9 //numero de linha dos vetores
#define LI 3 // numero de linhas da matriz
#define C 3 // numero de colunas da matriz

void colocaNoVetor(int matriz[][C], int *matriz1, int *matriz2);

int main(){
    int matriz[LI][C], vetor1[L], vetor2[L], i, j=0, k=0;

    for(i=0;i<L;i++){
        printf("Digite o numero %d da matriz 1: ", i+1);
        scanf("%d",&vetor1[i]);
    }
    for(i=0;i<L;i++){
        printf("Digite o numero %d da matriz 2: ", i+1);
        scanf("%d",&vetor2[i]);
    }

    system("CLS");
    printf("Valores dos vetores: (vetor 1 * vetor2)\n");
    for(i=0;i<L;i++){
        printf(" %d*%d ", vetor1[i], vetor2[i]);
    }
    printf("\nRESULTADOS: \n\n");
    
    colocaNoVetor(matriz, vetor1, vetor2);

    for(i=0;i<LI;i++){
        for(j=0;j<C;j++){
            printf(" %d ", matriz[i][j]);
        }
        printf("\n");
    }

    return(0);
}

void colocaNoVetor(int matriz[][C], int *vetor1, int *vetor2){
    int i=0, j, k;

    for(j=0;j<LI;j++){
        for(k=0;k<LI;k++){
            matriz[j][k] = vetor1[i]*vetor2[i];
            i++;
        }
    }
}

1- Entrada de valores;

2- Imprime os valores que serão multiplicados;

3- Manda a matriz que vai receber os resultados e os dois vetores para uma função (colocaNoVetor());

4- A função faz as multiplicações e coloca no vetor (laço duplo);

5- exibe a matriz.

Não tentei alterar os valores de C, L e LI, provavelmente se alterar dá algum bug, mas é mais ou menos isso.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...