Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: wazausky en 10 Noviembre 2012, 20:47 pm



Título: TENGO PROBLEMAS PARA HACER UN ARREGLO Y SUMAR COLUMAS Y REGLONES
Publicado por: wazausky en 10 Noviembre 2012, 20:47 pm
Hey, que onda.
Bien, pues tengo problemas con mi programa. La idea es generar una matriz y despues calcular su traza. Hasta ahí esta todo bien. Después hay que calcular la suma por columnas y por renglones. El promebla es que si calculo la suma de la primer columna pero solo esa calculo. Necesito calcular la suma de todas las columnas y todas los rengones. y mostrarlas justo debajo de cada columna y renglon. Por ultimo necesito calcular la suma de las sumas por columnas y la suma de las sumas por renglones, que debe de ser exactamente igual, y mostrarla a un lado de la suma por columna y debajo de la suma por renglones es decir en la ultima esquina.
A quien me puede ayudar, muchas gracias.

Código:
#include <stdio.h>
#include <stdlib.h>
/*PROGRAMA QUE GENERA UNA MATRIZ Y CALCULA SU TRAZA tr(M) Y SUMAS POR COLUMNAS
Y RENGLONES*/
int main(int argc, char *argv[])
{
  int x, y, tabla[10][10], R, C, T, SC, z;
  printf("Cuantos renglones quiere que tenga la matriz: ");
  scanf("%i", &R);
  printf("\nCuantas columnas quiere que tenga la matriz: ");
  scanf("%i", &C);
  printf("\nMATRIZ\n\n");
/*SE GENERA LA MATRIZ*/
  for (x=0; x<R; x++)
  {
      for (y=0; y<C; y++)
      {
          tabla[x][y] = rand()%10;
          printf("%i   ", tabla[x][y]);
      }
      printf("\n\n");
  }
  T = 0;
/*SE CALCULA LA TRAZA*/
  for (x=0; x<R; x++)
  {
      for (y=0; y<1; y++)
      {
          T = T + tabla[x][x];
      }
  }
/*SE CALCULA LA SUMA POR COLUMNAS*/
  for (z=0; z<C; z++)
  {
  SC = 0;
      for (x=0; x<R; x++)
      {
          for (y=0; y<1; y++)
          {
              SC = SC + tabla[x][y];
          }
      }
      printf("%i  ", SC);
  }
  printf("\n\ntr(M) = %i", T);
  printf("\n\n");
  system("PAUSE");
  return 0;
}


Título: Re: TENGO PROBLEMAS PARA HACER UN ARREGLO Y SUMAR COLUMAS Y REGLONES
Publicado por: leosansan en 10 Noviembre 2012, 21:47 pm
No sé si he pillado del todo la idea, creo que sí:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /*PROGRAMA QUE GENERA UNA MATRIZ Y CALCULA SU TRAZA tr(M) Y SUMAS POR COLUMNAS
  5. Y RENGLONES*/
  6. int main(int argc, char *argv[])
  7. {
  8.  int x, y, tabla[10][10], R, C, T=0,Sr=0,Sc=0, SR[10]={0}, SC[10]={0}, z;
  9.  printf("Cuantos renglones quiere que tenga la matriz: ");
  10.  srand(time(0));
  11.  scanf("%i", &R);
  12.  printf("\nCuantas columnas quiere que tenga la matriz: ");
  13.  scanf("%i", &C);
  14.  printf("\nMATRIZ\n\n");
  15. /*SE GENERA LA MATRIZ*/
  16.  for (x=0; x<R; x++)
  17.  {
  18.      for (y=0; y<C; y++)
  19.      {
  20.          tabla[x][y] = rand()%10;
  21.          printf("\t%d", tabla[x][y]);
  22.      }
  23.      printf("\n\n");
  24.  }
  25.  /*SE CALCULA LA TRAZA*/
  26.    for (x=0; x<R; x++) {
  27.          for (y=0; y<1; y++)
  28.            T +=tabla[x][x];
  29.    }
  30. /*SE CALCULA LA SUMA POR FILAS*/
  31.    for (x=0; x<C; x++){
  32.      for (y=0; y<R; y++)
  33.        SR[x] += tabla[x][y];
  34.    }
  35.  
  36.    for (x=0; x<R; x++)
  37.        {
  38.            printf("\t%d", SR[x]);
  39.            Sr+=SR[x];
  40.        }printf(" = %d ", Sr);
  41.    printf(" =renglones\n");
  42.    /*SE CALCULA LA SUMA POR COLUMNAS*/
  43.    for (y=0; y<C; y++){
  44.      for (x=0; x<R; x++)
  45.        SC[y] += tabla[x][y];
  46.    }
  47.  
  48.    for (y=0; y<C; y++)
  49.        {
  50.            printf("\t%d", SC[y]);
  51.            Sc+=SC[y];
  52.        }printf(" = %d  ", Sc);
  53.    printf("= columnas");
  54.    printf("\n\ntr(M) = %d", T);
  55.    printf("\n\n");
  56.    system("PAUSE");
  57.    return 0;
  58. }
Saludos!.