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");
}

61 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
    2. no compila esta mal todo

      Eliminar
    3. Ocupo un programa en c++ Es de sumar las filas y las columnas de una matriz cuadrada 3x3

      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
    Respuestas
    1. solo la principal y la secundaria

      Eliminar
    2. int numeros[][] = new int[3][3];
      int valor;
      Scanner lector = new Scanner(System.in);

      System.out.println("MATRIZ CUADRADA 3 X 3");
      for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
      System.out.println("Ingrese el valor de " + i + " y" + j + ": ");
      valor = lector.nextInt();
      numeros[i][j] = valor;
      }
      }

      System.out.println("");
      System.out.println("Presentacion de la matriz");
      for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
      System.out.print(numeros[i][j] + "\t");
      if (j == 2) {
      System.out.print("\n");
      }
      }
      }

      System.out.println("");
      System.out.println("Diagonal Principal");
      for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
      if (i == j) {
      System.out.print(numeros[i][j] + " ");
      }
      }
      }
      System.out.println("\n");
      System.out.println("Diagonal Secundaria");
      for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
      if (i == 0 && j == 2) {
      System.out.print(numeros[i][j] + " ");
      }
      if (i == 1 && j == 1) {
      System.out.print(numeros[i][j] + " ");
      }
      if (i == 2 && j == 0) {
      System.out.print(numeros[i][j] + " ");
      }
      }
      }
      System.out.println("\n");
      }
      }

      Eliminar
  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. Este comentario ha sido eliminado por el autor.

    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. 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
  18. 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
  19. 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
  20. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  21. 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
  22. disculpa amigo que codigo me recomiendas para multiplicar por x los numeros que se encuentren en una posicion par del array

    ResponderEliminar
  23. como hago para cambiar de posicion la columna

    ResponderEliminar
  24. 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
  25. y como hacerlo en netbean en codigo

    ResponderEliminar
  26. disculpa lo podrias traducir al lenguaje del pseint?

    ResponderEliminar
  27. necesito ayuda
    quiero el mismo codigo pero para c++

    ResponderEliminar
  28. 1) Desarrollar un programa que me permita almacenar datos enteros positivos en una matriz de 5x5 y realizar los siguientes procedimientos:
    1.-Recorra la matriz y cuente los elementos pares que hay en ella, deberá además cambiarlos por (-1)
    2.-Escribir otro procedimiento que a partir de la matriz anterior genere un vector cuyos elementos indiquen cuantos (-1) hay en cada fila.

    ResponderEliminar
  29. hola me podrian ayudar con un programa que al tener la matriz al digitar numero 0 que me sume cuantos 0 se digitaron en la matriz ya hize que salga la matriz solo me falta que sume los 0 namas ayudenme porfa este es el programa:



    #include
    #include


    int main()
    {
    int n,i,j;
    int sum;

    printf("Digite el numero de filas: ");
    scanf("%i",&n);

    int b[n][n];

    printf("\n\n");

    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    printf("Digite b[%i][%i]: ",i+1,j+1);
    scanf("%i",&b[i][j]);
    }
    }

    printf("\n\n");

    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++){
    printf("%i",b[i][j]);
    }
    printf("\n");
    }

    return 0;
    }

    ResponderEliminar
  30. Ayuda....
    Capture una matriz de N*M y calcule las sumas de cada una de sus filas y columnas... Muestre las sumas..
    Lo necesito en lenguaje c o c++

    ResponderEliminar
  31. Pueden explicarlo con diagrama de flujo por favor?

    ResponderEliminar
  32. Hola buenas tardes: me podrán ayudar con este código:
    Se requiere capturar cinco calificaciones de 10 estudiantes, almacenarlos en una matriz de 10 x 5, hacer la suma de las 10 filas y promediarlas, despúes hay que ordenarlos de forma descendente, en el código que escribí ya me da los promedios, me falta organizarlos de mayor a menor.
    gracias anticipadas.
    #include
    #include

    int main(){

    float cal[4][5];
    int i,j;
    float sum;
    //float promedio;

    for(i=0;i<4;i++){
    for(j=0;j<5;j++){
    printf("Escribe la calificación %i del alumno: %i\n",j,i);
    scanf("%f",&cal[i][j]);
    }
    }
    for (i=0;i<4;i++){
    sum=cal[i][0]+cal[i][1]+cal[i][2]+cal[i][3]+cal[i][4];
    printf("El promedio de las calificaciones de %i es: %.2f\n",i,sum/5);
    }
    getchar();
    return 0;
    }

    ResponderEliminar
  33. Quien me ayuda a que funcione este programa, necesito que sume las 3 filas pero no se que me hace falta,alguien que me brinde su ayuda


    #include
    #include
    #include
    main ()
    {
    int i,j,datos[3][5],s;
    s=0;
    for (i=0; i<=2; i++)
    for (j=0; j<=4; j++)
    {
    printf ("Agregar Datos \n");
    scanf("%d",&datos[i][j]);
    }
    for(i=0; i<=2; i++)
    {
    printf(" \n");
    for(j=0; j<=4; j++)
    printf(" %d " ,datos[i][j]);
    }
    for(i=0; i<=2; i++)
    {
    for(j=0; j<=4; j++)
    {
    s+=datos[i][j];
    }
    datos[i][j]=s;
    }
    for(i=0; i<=2; i++)
    {
    printf("%d\n",datos [i]);
    }
    getch();
    }

    ResponderEliminar
  34. Llenar una matriz de 4x5, luego guardar la suma de cada fila en una casilla de un arreglo de tamaño 4 alguien me podría ayudar con este programa??? gracias

    ResponderEliminar
  35. y el codigo en python3.7.0 de una matriz 5*4 fsuma filas y columnas dee el total por filas y columnas de coordenas de colisiones es lo mismo que en cc++

    ResponderEliminar
  36. hola aqui les dejo ese mismo programa solo que en lugar de una matriz ya dada, ustedes tienen que capturar una, sea de las filas que sean o columnas que sean. (o sea, f*c):
    #include
    // Ramiro Ramirez
    /* suma de columnas, capturando una matriz de f*c */
    using namespace std;
    int fila,columna;
    int suma=0;
    int i, f=0, c=0;
    int main(int argc, char** argv) {
    cout<<"cuantas filas tiene tu matriz? "<>f;
    cout<<"cuantas columnas tiene tu matriz? "<>c;
    int matriz[f][c];
    int vertical[c];
    /*Bucle que registra los numeros introducidos de teclado*/
    for(fila=0;fila>matriz[fila][columna];
    }
    }
    cout<<"la matriz capturada es la siguiente: "<<endl;
    for(int fila=0; fila<f;fila++){
    for(int columna=0; columna<c; columna++){
    cout<<"\t"<<matriz[fila][columna]<<"\t";
    }
    cout<<endl;
    }

    /*Bucle que suma las columnas y registra el resultado en el vector horizontal*/
    for(columna=0;columna<c;columna++)
    {
    suma=0; //declaramos que la variable suma es igual a 0; y inicializamos otra vez para la proxima suma.
    for(fila=0;fila<f;fila++)
    {
    suma+=matriz[fila][columna];
    }
    vertical[columna]=suma;
    }

    /*Recorre el vector horizontal y muestra los resultados*/
    for(i=0;i<c;i++)
    {
    cout<<"la suma de la columna""["<<i<<"]""es:" <<vertical[i]<<endl;
    }
    system("PAUSE");

    return 0;
    }

    ResponderEliminar
  37. Que buena matriz , ya quedo , gracias ramiro

    ResponderEliminar
  38. Buenísimo programa ��

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

    ResponderEliminar
  40. Buenas un favor me podrian ayudar en este problema
    Introduce numeros en una matriz de nxn y calcular la suma de los numeros cuya suma de sus pociciones sea par

    ResponderEliminar
  41. disculpen y si en lugar de sumar quisiera restas solo las filas y que me de el resultado? gracias

    ResponderEliminar
  42. Buenas tardes me podría ayudar en este ejercicio

    ResponderEliminar
  43. En un programa c# sume los elementos de cada una de las filas y de las columnas de la siguiente matriz
    170
    560
    640
    730
    000
    El resultado de la suma se almacenará en la última posición de la fila o columna correspondiente. Y la suma de todos los elementos de la matriz se almacenará en el elemento de la esquina inferior derecha

    ResponderEliminar
  44. Leer datos de doce personas como son: nombre, edad, estatura, peso, posteriormente
    indicar cual es el nombre de la apersona de menor edad y promedio de las estatura y el de los pesos

    me puede ayudar por favor

    ResponderEliminar

  45. me podrias ayudar con esto porfavor
    Se tiene una matriz de 4 filas por 5 columnas y se desea un programa para encontrar todos sus elementos negativos
    y para que les cambie ese valor negativo por un cero. deberá imprimir la matriz con los números ingresados, y la matriz con los números negativos cambiados.

    ResponderEliminar
  46. Dado una matriz B de tamaño NxM desarrollar un algoritmo que permita calcular la suma de los elementos del borde de la matriz

    ResponderEliminar
  47. Hola me podrian ayudar con este programa
    Realiza una matriz de 3 x 5 con los datos desde el programa( los datos que gustes). Imprime dirección y contenido.
    Luego se imprime solo la primera fila de forma horizontal, la segunda se realiza la suma y la tercera fila no se imprime.

    ResponderEliminar