Foros del Web » Programación para mayores de 30 ;) » C/C++ »

calcular el producto de una matriz por un vector

Estas en el tema de calcular el producto de una matriz por un vector en el foro de C/C++ en Foros del Web. Este es el programa: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> #include <stdlib.h> #define N 100 #define M 100 int main ( ) { ...
  #1 (permalink)  
Antiguo 21/08/2010, 08:39
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
calcular el producto de una matriz por un vector

Este es el programa:


Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 100
  4. #define M 100
  5. int main(){
  6.     double mat[N][M];
  7.     double vec[M];
  8.     int i;
  9.     int j;
  10.     int n;
  11.     int m;
  12.     double tmp;
  13.    
  14.     do{
  15.         printf("Numero de filas: ");
  16.         scanf("%d", &n);
  17.         printf("Numero de columnas: ");
  18.         scanf("%d", &m);
  19.         if((n>N) || (m<N)){
  20.             printf("Error, tamano demasiado grande.\n");
  21.         }
  22.     }while((n>N) || (m>N));
  23.    
  24.     for(i=0; i<n; i++){
  25.         for(j=0; j<m; j++){
  26.             printf("mat[%d][%d]= ", i,j);
  27.             scanf("%lf", &mat[i][j]);
  28.         }
  29.     }
  30.     for(i=0; i<m; i++){
  31.         printf("vec[%d]= ", i);
  32.         scanf("%d", &vec[i]);
  33.     }
  34.     for(i=0; i<n; i++){
  35.         tmp=0;
  36.         for(j=0; j<m; j++){
  37.             tmp += mat[i][j]*vec[j]);
  38.         }
  39.         printf("Resultado[%d]=%lf\n", i, tmp);
  40.     }
  41.     return 0;
  42.     getchar();
  43.     getchar();
  44. }

Error: línea 37 syntax error before ')' token.
  #2 (permalink)  
Antiguo 21/08/2010, 08:45
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: calcular el producto de una matriz por un vector

Te falta un parentesis en la linea 37.

tmp += (mat[i][j]*vec[j]);
  #3 (permalink)  
Antiguo 21/08/2010, 09:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

He intentado compilarlo, pero después de introducir los números la ventana desaparece.
  #4 (permalink)  
Antiguo 21/08/2010, 12:20
 
Fecha de Ingreso: agosto-2010
Ubicación: Colombia
Mensajes: 8
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

Cita:
Iniciado por minette1988 Ver Mensaje
He intentado compilarlo, pero después de introducir los números la ventana desaparece.
Si estás en Windows pon un system("pause"); al final.
  #5 (permalink)  
Antiguo 22/08/2010, 03:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

Me da esto: Resultado[0]=0.000000
Resultado[1]=0.000000
  #6 (permalink)  
Antiguo 22/08/2010, 05:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

en el primer if done pone m<N me he equivocado es m>N aún así sigue dándome como resulatdo [0]=0.000000
resultado[1]=0.000000
  #7 (permalink)  
Antiguo 22/08/2010, 11:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

¿Alguien me puede ayudar con este ejercicio?, lo he encontrado por internet.
  #8 (permalink)  
Antiguo 22/08/2010, 11:34
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: calcular el producto de una matriz por un vector

Fijate que cuando tomas los valores en el vector, en el scanf buscas un entero y no un doble...

deberia ser:
scanf("%f", &vec[i]);
  #9 (permalink)  
Antiguo 22/08/2010, 13:52
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

Ejemplo:

Número de filas: 2
Número de columnas: 3
mat[0][0]=5.2
mat[0][1]=2.3
mat[0][2]=6.7
mat[1][0]=8.9
mat[1][1]=10.11
mat[1][2]=12.25
vec[0]=6.7
vec[1]=7.2
vec[2]=2.11
Resultado[0]=95.14
Resultado[1]=225.072

Lo que no sé es de dónde salen esos dos resultados y ¿por qué son sólo dos resultados?
  #10 (permalink)  
Antiguo 23/08/2010, 04:42
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: calcular el producto de una matriz por un vector

Si ingresas 2 al principio, eso lo guardas en la variable n, y luego usas n para controlar un ciclo for, no es extraño que sean 2 resultados.
  #11 (permalink)  
Antiguo 23/08/2010, 05:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

¿Puedes decirme qué números se multiplican para que salgan esos resultados?
  #12 (permalink)  
Antiguo 23/08/2010, 07:04
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: calcular el producto de una matriz por un vector

No.
Pero te sugiero imprimir los numeros que te interesa ver entre la linea 36 y 37.
  #13 (permalink)  
Antiguo 23/08/2010, 15:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

La variable tmp ¿qué función hace?
  #14 (permalink)  
Antiguo 24/08/2010, 10:39
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

¿Por qué en el while se utiliza el signo '>' en vez de el '<'?
  #15 (permalink)  
Antiguo 24/08/2010, 13:59
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: calcular el producto de una matriz por un vector

de verdad, por que no lees un buen libro
  #16 (permalink)  
Antiguo 25/08/2010, 04:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: calcular el producto de una matriz por un vector

¿Me puedes contestar a la pregunta?
  #17 (permalink)  
Antiguo 25/08/2010, 04:09
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: calcular el producto de una matriz por un vector

Cita:
Iniciado por minette1988 Ver Mensaje
¿Me puedes contestar a la pregunta?
estoy seguro que no tienes ni idea del código que estas poniendo
  #18 (permalink)  
Antiguo 25/08/2010, 04:12
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: calcular el producto de una matriz por un vector

no te puedes dar cuenta de cosas tan básicas como que te falta un "(" o por que se usa < o >, mejor lee un libro, donde te explique todo eso, y luego te aseguro como vas a poder entender la logia de ese código

Etiquetas: matriz, producto, vectores, calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:26.