joaom 0 Denunciar post Postado Junho 26, 2007 Olá! Estou com dificuldade com um algoritmo. é o seguinte, leio uma matriz de 5x5, preciso pegar cada elemnto da matriz e multiplicar por um valor X, também lido. Segue abaixo o enunciado e até onde consegui fazer. Como podem ver estou tentando fazer, só que não consigo mais passar dali. Ah, outra dúvida que tenho, se não for pedir muito, como faço para gerar uma matriz randomicamente, tentei randomize, random, etc e não consegui. Espero que alguém possa me ajudar. Escrever um algoritmo que lê uma matriz M 5x5 e um valor A, inteiro e multiplica cada elemento de M pelo valor A e coloca estes resultados em um vetor com 25 elementos. O algoritmo deverá escrever os valores do vetor. Desde ja, agradeço! E até onde consegui fazer: #include <stdio.h>#include <conio.h>#include <math.h>main(){ int mat[5][5], vet[25], i,j,a,k; printf ("Informe os elementos da matriz: \n"); for (i=0;i<5;i=i+1) for (j=0;j<5;j=j+1) scanf (" %d",&mat[i][j]); printf("\nExibicao da matriz:\n"); printf("-------------------\n"); for (i=0;i<5;i=i+1) { for (j=0;j<5;j=j+1) printf ("%4d",mat[i][j]); printf ("\n"); } printf("\n\nInforme um valor para ser multiplicado: "); scanf("%d",&a); // preciso pegar cada elemento da martiz e multiplicar pelo valor // lido acima e colocá-los em um vetor com 25 elementos. getch();} Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Lima (Aram) 0 Denunciar post Postado Junho 29, 2007 tendo a matriz e tendo o vetor é simples percorra as linhas i e colunas j da matriz e coloque o resultado na posição (5 vezes i) + j. linha coluna posicao do vetor0 0 00 1 10 2 2...0 4 41 0 51 1 6...4 4 24 vamos ao código... declare um inteiro posicao no inicio do código para deixar o código mais limpo. depois do seu comentário // preciso pegar cada elemento da martiz e multiplicar pelo valor// lido acima e colocá-los em um vetor com 25 elementos.for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { posicao = (5 * i) + j; vetor[posicao] = a * matriz[i][j]; }} meu, é uma multiplicação simples, acho que você nem precisa de math.h (que só dá dor de cabeça na compilação) depois é só imprimir o vetor né? Compartilhar este post Link para o post Compartilhar em outros sites
joaom 0 Denunciar post Postado Junho 30, 2007 tendo a matriz e tendo o vetor é simplespercorra as linhas i e colunas j da matriz e coloque o resultado na posição (5 vezes i) + j. linha coluna posicao do vetor0 0 00 1 10 2 2...0 4 41 0 51 1 6...4 4 24vamos ao código... declare um inteiro posicao no inicio do código para deixar o código mais limpo.depois do seu comentário// preciso pegar cada elemento da martiz e multiplicar pelo valor// lido acima e colocá-los em um vetor com 25 elementos.for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { posicao = (5 * i) + j; vetor[posicao] = a * matriz[i][j]; }}meu, é uma multiplicação simples, acho que você nem precisa de math.h (que só dá dor de cabeça na compilação)depois é só imprimir o vetor né?vlw Ricardo, consegui aqui, ja testei e ta funcionando. Compartilhar este post Link para o post Compartilhar em outros sites