elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C]: sumar cada fila de una matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C]: sumar cada fila de una matriz  (Leído 4,245 veces)
andie13

Desconectado Desconectado

Mensajes: 29


Ver Perfil
[C]: sumar cada fila de una matriz
« en: 18 Diciembre 2016, 00:17 am »

Hola!
Necesito calcular la suma de cada fila de una matriz cuadrada tal que así, mediante punteros, pero la suma de las filas no funciona correctamente (me da un valor de más) y las columnas no las suma directamente.

     1       1       1   | 3
     1       1       1   | 3
     1       1       1   | 3
------- ------- -------
     3       3       3 

La matriz está declarada como una estructura con
typedef struct{
int filas;
int columnas;
int *datos;
}Matriz;

El código es el siguiente:
Código
  1. int sumarfilas(Matriz *m)
  2. {
  3.    int i,j,a,b,suma,vertical[i];
  4.    a=m->filas;
  5.    b=m->columnas;
  6. for(i=0;i<a;i++)
  7.    {
  8.    suma=0;
  9.        for(j=0;j<b;j++)
  10.        {
  11.            suma+=*(m->datos+i*b+j);
  12.        }
  13.        vertical[i]=suma;
  14.    }
  15. return vertical[i];
  16. }
  17. int sumarcolumnas(Matriz *m){
  18.    int c,f,a,b,vector[c];
  19.    a=m->filas;
  20.    b=m->columnas;
  21.    for(c=0;c<b;c++){ // por cada columna
  22.        for( f=0;f<a;f++) // por cada elemento de la columna
  23.        vector[c]+=*(m->datos+f*b+c);
  24.  
  25.    }
  26.    return vector[c];
  27. }

Gracias!


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: [C]: sumar cada fila de una matriz
« Respuesta #1 en: 18 Diciembre 2016, 01:02 am »

Varios fallos:
Línea 3: Ya que 'i' no tiene valor definido contiene un número aleatorio por tanto 'vertical[i]' es un array de dimensión desconocida.

Línea 18: Igual que el error en la línea 3 pero esta vez con 'c' y 'vector[c]'.

Línea 15: Entiendo que quieres devolver un array, pero en C eso no está permitido. De todas formas regresas un valor que está una posición más allá del límite del array 'vertical'. Un fallo dentro de un fallo.

Línea 26: Igual error que la línea 15 pero con el array 'vector'.


En línea

andie13

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: [C]: sumar cada fila de una matriz
« Respuesta #2 en: 18 Diciembre 2016, 01:11 am »

Gracias pro responder.
Entiendo lo que quieres decir, pero si no lo hago con arrays, como puedo hacerlo?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
matriz nxm numeros, como imprimir segunda fila[SOLUCIONADO]
Java
rub'n 6 12,282 Último mensaje 28 Noviembre 2011, 00:25 am
por rub'n
Como sumar la ultima fila y cuarta columna en una matriz ?
Java
goanzaloo 1 5,644 Último mensaje 9 Diciembre 2011, 01:22 am
por Valkyr
Máximo de cada fila de una matriz
.NET (C#, VB.NET, ASP)
gabyricardo1992 3 3,029 Último mensaje 17 Septiembre 2013, 08:05 am
por gabyricardo92
Sumar los elementos de una fila de una matriz en Pythong
Dudas Generales
Matinegro 1 2,573 Último mensaje 10 Noviembre 2013, 20:41 pm
por crazykenny
(Ayuda) Sumar elementos de fila o columna impar en DataGridView (VisualBasic) « 1 2 »
.NET (C#, VB.NET, ASP)
MikeSky 10 10,432 Último mensaje 15 Diciembre 2014, 16:14 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines