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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Sumar Matriz 4x6 usando Do While
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sumar Matriz 4x6 usando Do While  (Leído 3,987 veces)
GabrielHrC

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Sumar Matriz 4x6 usando Do While
« en: 13 Marzo 2017, 03:21 am »

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!!!

Código
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <iostream>
  6.  
  7.  
  8. int main()
  9. {
  10. int m[4][6], i, j, s=0, q[6];
  11. srand(time(NULL)); //semilla
  12. {
  13. for(i=0;i<4;i++)
  14. {
  15. for(j=0;j<6;j++)
  16. {
  17. do
  18. {
  19. m[i][j]=rand()%110+20;
  20. }
  21. while(m[i][j]%5!=0);
  22. printf("%d\t",m[i][j]);
  23. s+= m[i][j];
  24. q[j]+=m[i][j];
  25. }
  26. printf("-> %d\t\n",s); s=0;
  27. }
  28. printf("\n\n");
  29. for(i=0;i<6;i++)
  30. {
  31. printf("%d\t",q[i]);
  32. }
  33. } return 0;
  34. }
  35.  



En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #1 en: 13 Marzo 2017, 06:27 am »

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 Desconectado

Mensajes: 1.603



Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #2 en: 13 Marzo 2017, 15:51 pm »

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 Desconectado

Mensajes: 3


Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #3 en: 13 Marzo 2017, 20:10 pm »

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 Desconectado

Mensajes: 1.603



Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #4 en: 13 Marzo 2017, 20:20 pm »

Soluciona q, como te he dicho, y el programa funcionará.
En línea

GabrielHrC

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #5 en: 13 Marzo 2017, 20:33 pm »

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í
Código
  1.  
  2. for(i=0;i<6;i++)
  3. {
  4. printf("%d\t",q[i]);
  5. }
  6.  

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

Código
  1. printf("-> %d\t\n",s); s=0;

Y es ahí donde necesito ayuda.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #6 en: 13 Marzo 2017, 23:22 pm »

Puedes hacer dos cosas:
1. Para los que empiezan. Justo después de la declaración de variables
Código
  1. for(i=0; i < 6; ++i)
  2.    q[i] = 0;

2. Para los que ya han visto un poco más de arrays. Cuando declares q simplemente debes hacerlo
Código
  1. q[6] = {0};
En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Sumar Matriz 4x6 usando Do While
« Respuesta #7 en: 13 Marzo 2017, 23:25 pm »

Código:
#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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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 Último mensaje 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 Último mensaje 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 Último mensaje 8 Julio 2015, 10:19 am
por vangodp
[C]: sumar cada fila de una matriz
Programación C/C++
andie13 2 4,592 Último mensaje 18 Diciembre 2016, 01:11 am
por andie13
Sumar triangulos en una matriz nxn en C
Programación C/C++
Ndiar 1 1,887 Último mensaje 28 Julio 2018, 19:35 pm
por Ndiar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines