jueves, 26 de abril de 2012

Sumar las filas y columnas de una matriz en Lenguaje C

El ejercicio consiste en realizar una matriz de 5x4 elementos y sumar fila por fila y columna por columna, guardando los resultados en dos vectores, uno vertical para las filas, y otro horizontal para las columnas.

Ejemplo:

    MATRIZ       RESULTADO FILAS

5  6  7  2  3    23
4  2  1  0  6    13
3  2  7  6  5    23
7  8  5  2  1    23

19 18 20 10 15 <<-- RESULTADO COLUMNAS




int main()
{

int matriz[4][5];
int horizontal[5];
int vertical[4];
int fila,columna;
int suma=0;
int i;


/*Bucle que registra los numeros introducidos de teclado*/
for(fila=0;fila<4;fila++)
{
    for(columna=0;columna<5;columna++)
    {
        printf("Introduce un numero para la posicion %d,%d: ",fila,columna);
        scanf("%d",&matriz[fila][columna]);
    }
}

/*Bucle que suma las filas y registra el resultado en el vector vertical*/
for(fila=0;fila<4;fila++)
{
    suma=0;
    for(columna=0;columna<5;columna++)
    {
        suma+=matriz[fila][columna];
    }
    vertical[fila]=suma;
}

/*Recorre el vector vertical y muestra los resultados*/
for(i=0;i<4;i++)
{
    printf("%d\n",vertical[i]);
}

/*Bucle que suma las columnas y registra el resultado en el vector horizontal*/
for(columna=0;columna<5;columna++)
{
    suma=0;
    for(fila=0;fila<4;fila++)
    {
        suma+=matriz[fila][columna];
    }
    horizontal[columna]=suma;
}

/*Recorre el vector horizontal y muestra los resultados*/
for(i=0;i<5;i++)
{
    printf("%d",horizontal[i]);
}
system("PAUSE");
}

29 comentarios:

  1. Hola saludos, muy buena tu explicacion, no obstante yo he tratado de hacer lo mismo con este ejercicio y aun asi no me resulta, no logro ver ke me hace falta. Si me pudieran ayudar se los agradezco.


    //Ejercicio: llenar dos matrices de 4*2, sumar las posiciones de cada fila y llenar un
    //vector, luego mostrar el vector resultante.

    #include

    using namespace std;

    int main(int argc, char *argv[])
    {
    int j,k,i, matrizA[4][2], matrizB[4][2], arraySuma[8], suma=0;

    cout<<"\n\nCARGA DE DATOS PARA LA MATRIZ A"<>matrizA[j][k];
    }
    }
    cout<<"CARGA DE DATOS PARA LA MATRIZ B"<>matrizB[j][k];
    }
    }
    arraySuma[i]=0;
    for(j=0;j<4;j++)
    {
    for(k=0;k<2;k++)
    {
    arraySuma[i]+=matrizA[j][k];
    }
    }
    for(j=0;j<4;j++)
    {
    for(k=0;k<2;k++)
    {
    arraySuma[i]+=matrizB[j][k];
    }
    }
    cout<<"\n\n\n\tEL VECTOR RESULTANTE ES: "<<endl;
    for(i=0;i<8;i++)
    {
    cout<<"\n\t"<<arraySuma[i]<<" "<<endl;
    cout<<endl;
    }
    system("PAUSE");
    }//fin del algoritmo.

    ResponderEliminar
  2. gracias enserio gracias por el ejercicio, me sirvio de mucho

    ResponderEliminar
  3. hola disculpa el ejercicio funciona solo que tengo una incognita, cuando le pongo suma=0 despues del for(fila=0;fila<4;fila++) me calcula muy bien las sumas de las filas, pero si le quito el suma=0 mal porque salen otros resultados, aun cuando la variable suma=0 ya la declare al principio, no entiendo???

    ResponderEliminar
  4. #include
    #include
    int main ()
    {
    int numeros [5][5],i,j,col,fil;
    int contador=1;

    for (i=0;i<5;i++){
    for (j=0;j<5;j++){
    numeros [i][j]=contador;
    contador ++;
    }}
    for(i=0;i<5;i++){
    fil=0;
    for(j=0;j<5;j++){
    fil+=numeros[i][j];
    printf ("%d\t",numeros[i][j]);
    if(j==4)
    {
    printf ("El resultado de la suma es: %d\t",fil);
    }}

    printf ("\n\n");
    }
    getch ();
    }

    ResponderEliminar
    Respuestas
    1. muy bueno solo que lo que yo necesito es que la matriz sea de 3x3 y que me sume las filas pero tambien las columnas. que es lo que le faltaria a este programa.

      gracias!!

      Eliminar
  5. me ayudan con esta
    Considerando que existe una matriz de 4x4, llena de números enteros, Ud debe crear las
    funciones que permitan calcular e imprimir, la suma de:
    a. Diagonal principal.
    b. Diagonal secundaria.
    c. La primera y última fila.
    d. La primera y última columna.

    ResponderEliminar
  6. oie me puedes ayudar a realizar un programa algo dificil realizar un sistema de ecuaciones de suma, resta,multiplicacion,traspuesta,adjunta,inversa,divicion,determinantes...con ciclo for y cout..

    ResponderEliminar
  7. nesecito uno de 4 filas y 3 columna
    hallar
    -lasuma de la ultima columna
    -la suma de la ultima fila

    ResponderEliminar
  8. Hola oye me podrías ayudar con un programa para calcular resistencias en serie y en paralelo, porfa.
    O me podrías decir como hacerle; o darme una idea por favor :D

    ResponderEliminar
  9. Hola, muchas gracias por el aporte. Lo único, es como seria para implementar este programa con la Suma de los elementos de las columnas impares. R Imprimir los elementos A (2,3) y A (3,2).
    PD: Para cambiar los valores de la matriz, simplemente:

    int tabla [4][5] y los números que tenemos entre corchetes son los que nos dicen alto y ancho por decirlo. Si queremos otra matriz solo tenemos que cambiar estos números.

    Gracias de antemano.

    ResponderEliminar
  10. quien me ayuda con una matriz de 3*3 que sume la diagonal principal, cuente cuantos pares hay en la diagonal secundaria y cuantos son impares y debe realizar un menú portada de presentación

    ResponderEliminar
  11. y no lo tienen en LENGUAJE java?? D: ayuda porfavor!!

    ResponderEliminar
  12. alguien puede resolver el "declarar dos matrices y sumarlas para conseguir una tercera matriz"? gracias

    ResponderEliminar
  13. Ayuda con este problema:
    Realizar una matriz de 10x10 que almacene en la matriz 2, en la diagonal principal, el menor del renglon de la matriz 1.

    ResponderEliminar
  14. Realice un programa que llene una matriz de tamaño N*M, y obtenga la suma de las fila y la suma de las columnas y determine cual es la suma mayor por cada fila y cual es la suma mayor por cada columna como hago

    ResponderEliminar
  15. me podrian ayudar con una programacion con funciones porfas!
    Leer una matriz de 3 filas y 3 columnas, calcular la suma de los elementos que se encuentran en la misma fila, calcular el promedio de los elementos que se encuentran en la misma columna, indicar cual es el mayor y el menor de todos los elementos.

    ResponderEliminar
  16. me podrian ayudar con una programacion con funciones porfas!
    Leer una matriz de 3 filas y 3 columnas, calcular la suma de los elementos que se encuentran en la misma fila, calcular el promedio de los elementos que se encuentran en la misma columna, indicar cual es el mayor y el menor de todos los elementos.

    ResponderEliminar
  17. hola: tengo una matriz bidimencional es [2,4,6] [8,10,12] quiro me m den el codigo la suma de las filas que se muestre en un lisbox y la suma de las columnas que se muestre en un label espero pronta respuesta.

    ResponderEliminar
  18. EL codigo que hice hasta ahora es:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    int[,] M ={ { 2, 4, 6 }, { 8, 10, 12 } };
    int i = 0, j = 0;
    private void button1_Click(object sender, EventArgs e)
    {
    listBox1.Items.Clear();
    string salida="";
    string salidav="";
    int suma = 0;
    int sumav=0;
    int c=-1;
    for (i=0; i<2; i++)
    {
    for (j=0; j<3; j++)
    {
    if(i<=j)
    {
    sumav=sumav+M[i,j];
    }

    suma = suma + M[i, j];
    salida=salida+M[i,j].ToString()+" ";
    salidav = salidav + M[i, j].ToString() + " ";
    }
    listBox1.Items.Add(salida+"="+suma.ToString());
    salida="";
    suma = 0;
    }
    }
    }
    }
    Asta aqui el codigo solo me permite realizar la suma de las filas en el listbox.Pero no puedo sumar las columnas en un label favor ayudenme Gracias espero su pronta respuesta.

    ResponderEliminar
  19. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  20. Buenos días, quería que me ayuden con algoritmo, me pide la suma de los elementos de la diagonal principal y de la diagonal secundaria de una matriz, utilizando una función.

    ResponderEliminar
  21. disculpa amigo que codigo me recomiendas para multiplicar por x los numeros que se encuentren en una posicion par del array

    ResponderEliminar
  22. como hago para cambiar de posicion la columna

    ResponderEliminar
  23. muy buenos días.
    me podrían hacer el favor de ayudarme hacer este mismo código pero en lenguaje python.
    le agradezco mucho a la persona que me pueda ayudar.

    ResponderEliminar