TENGO PROBLEMAS PARA HACER UN ARREGLO Y SUMAR COLUMAS Y REGLONES

Iniciado por wazausky, 10 Noviembre 2012, 20:47 PM

0 Miembros y 1 Visitante están viendo este tema.

wazausky

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.


#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;
}

leosansan

No sé si he pillado del todo la idea, creo que sí:
Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <time.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=0,Sr=0,Sc=0, SR[10]={0}, SC[10]={0}, z;
  printf("Cuantos renglones quiere que tenga la matriz: ");
  srand(time(0));
  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("\t%d", tabla[x][y]);
      }
      printf("\n\n");
  }
  /*SE CALCULA LA TRAZA*/
    for (x=0; x<R; x++) {
          for (y=0; y<1; y++)
            T +=tabla[x][x];
    }
/*SE CALCULA LA SUMA POR FILAS*/
    for (x=0; x<C; x++){
      for (y=0; y<R; y++)
        SR[x] += tabla[x][y];
    }

    for (x=0; x<R; x++)
        {
            printf("\t%d", SR[x]);
            Sr+=SR[x];
        }printf(" = %d ", Sr);
    printf(" =renglones\n");
    /*SE CALCULA LA SUMA POR COLUMNAS*/
    for (y=0; y<C; y++){
      for (x=0; x<R; x++)
        SC[y] += tabla[x][y];
    }

    for (y=0; y<C; y++)
        {
            printf("\t%d", SC[y]);
            Sc+=SC[y];
        }printf(" = %d  ", Sc);
    printf("= columnas");
    printf("\n\ntr(M) = %d", T);
    printf("\n\n");
    system("PAUSE");
    return 0;
}

Saludos!.