Autor
|
Tema: Sumar Matriz 4x6 usando Do While (Leído 3,987 veces)
|
GabrielHrC
Desconectado
Mensajes: 3
|
Hola, espero que puedan ayudarme, tengo un problema con mi código ya que las sumas horizontales salen sin problemas, peor las verticales no. Este es mi código, ya estuve buscando en internet pero todos usan for en lugar de do while Muchas Gracias!!! #include <stdio.h> #include <time.h> #include <stdlib.h> #include <conio.h> #include <iostream> int main() { int m[4][6], i, j, s=0, q[6]; srand(time(NULL)); //semilla { for(i=0;i<4;i++) { for(j=0;j<6;j++) { do { m[i][j]=rand()%110+20; } while(m[i][j]%5!=0); printf("%d\t",m[i][j]); s+= m[i][j]; q[j]+=m[i][j]; } printf("-> %d\t\n",s); s=0; } printf("\n\n"); for(i=0;i<6;i++) { printf("%d\t",q[i]); } } return 0; }
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
lo que quieres es un algoritmo que de la sumatoria de todas las filas y despes la sumatoria de las columnas de tu matriz 4x6?? o que solo sume las filas??
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
q está mal, no tiene inizializado a 0 ninguno de sus índices antes de empezar a sumar por lo tanto siempre dará valores extraños.
|
|
|
En línea
|
|
|
|
GabrielHrC
Desconectado
Mensajes: 3
|
lo que quieres es un algoritmo que de la sumatoria de todas las filas y despes la sumatoria de las columnas de tu matriz 4x6?? o que solo sume las filas??
Quiero la sumatoria por filas y despues por columnas, la de las filas me la da sin problemas pero en las sumatorias de las columnas no.
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Soluciona q, como te he dicho, y el programa funcionará.
|
|
|
En línea
|
|
|
|
GabrielHrC
Desconectado
Mensajes: 3
|
q está mal, no tiene inizializado a 0 ninguno de sus índices antes de empezar a sumar por lo tanto siempre dará valores extraños.
Según yo lo hice aquí for(i=0;i<6;i++) { printf("%d\t",q[i]); }
Pero no se cómo hacer que el acumulado en las filas sea cero cada vez que cambia a la siguiente, como lo hice en las columnas printf("-> %d\t\n",s); s=0;
Y es ahí donde necesito ayuda.
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Puedes hacer dos cosas: 1. Para los que empiezan. Justo después de la declaración de variables for(i=0; i < 6; ++i) q[i] = 0;
2. Para los que ya han visto un poco más de arrays. Cuando declares q simplemente debes hacerlo q[6] = {0};
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
#include <stdio.h> #include <time.h>
int main(){ int m[4][6], i, j, s, f[6], c[6]; srand(time(NULL)); //semilla
i = 0; do{ s = 0; j = 0; do{ m[i][j]=rand()%110+20; printf("m[%d][%d]=%d ", i, j, m[i][j]); s += m[i][j]; j++; }while(j<6); f[i] = s; printf("\nf[%d] = %d\n", i, s); j = 0; do{ if(i == 0) c[j] = m[i][j]; else c[j] += m[i][j]; j++; }while(j<6); i++; }while(i<4); j = 0; while(j<6){ printf("c[%d] = %d ", j, c[j]); j++; }
return 0; }
este codigo utiliza los do while como querias, en el array f[] se almacenan las filas y en c[] las columnas
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como sumar la ultima fila y cuarta columna en una matriz ?
Java
|
goanzaloo
|
1
|
5,809
|
9 Diciembre 2011, 01:22 am
por Valkyr
|
|
|
Sumar los elementos de una fila de una matriz en Pythong
Dudas Generales
|
Matinegro
|
1
|
2,825
|
10 Noviembre 2013, 20:41 pm
por crazykenny
|
|
|
Duda, sumar elementos en torno a un punto de la matriz en C
Programación C/C++
|
MrDude
|
1
|
2,642
|
8 Julio 2015, 10:19 am
por vangodp
|
|
|
[C]: sumar cada fila de una matriz
Programación C/C++
|
andie13
|
2
|
4,592
|
18 Diciembre 2016, 01:11 am
por andie13
|
|
|
Sumar triangulos en una matriz nxn en C
Programación C/C++
|
Ndiar
|
1
|
1,887
|
28 Julio 2018, 19:35 pm
por Ndiar
|
|