06/07/2011, 02:12
|
| | Fecha de Ingreso: mayo-2011 Ubicación: Almeria (España)
Mensajes: 51
Antigüedad: 13 años, 6 meses Puntos: 3 | |
Respuesta: Problema sumar arrays Cita:
Iniciado por Doommarine_Maxi Te recomiendo que trabajes con funciones compañero (ya estube viendo varios codigos tuyos).
Este por ejemplo seria una version mas "funcional" de tu programa ya que permite no solo matrices con 5x5, sino con varios tipo de dimensiones (2x5, 5x3, 2x4, etc...)
Fijate echale un vistaso.
Código C++:
Ver original#include <iostream> using namespace std; char Confirmar[500]; int tabla[12][12]; int Sumafila[12]; int Sumacolumna[12]; char m_numeros[12][32]; void calc_filas(int, int); int agregar_fila(char* ,int , int); void calc_columnas(int, int); void most_tabla(int, int); int main() { cout << "Programa dessarollado por Jesus Martin Berlanga (Modificado por Maximiliano Viamonte)." << endl; cout << "COPYRIGHT (C) JESUS MARTIN BERLANGA 2011 TODOS LOS DERECHOS RESERVADOS" << endl; cout << "SOLO SE PERMITE EXHIBIR ESTE TEXTO MENCIONANDO AL AUTOR Y ESTA LICENCIA" << endl; strcpy(m_numeros [0], "primera"); strcpy(m_numeros [1], "segunda"); strcpy(m_numeros [2], "tercera"); strcpy(m_numeros [3], "cuarta"); strcpy(m_numeros [4], "quinta"); strcpy(m_numeros [5], "sexta"); strcpy(m_numeros [6], "septima"); strcpy(m_numeros [7], "octava"); calc_filas(5, 5); calc_columnas(5, 5); most_tabla(5, 5); cout << "Escribe algo para salir" << endl; cin >> Confirmar; } void calc_filas(int cantidad, int columnas) { int i = 0; char mensaje[512]; while (i < cantidad) { sprintf(mensaje , "Introduce los %i numeros de la %s fila separados por espacios.\n", columnas , m_numeros [i ]); Sumafila[i] = agregar_fila(mensaje, i, columnas); i = i + 1; } return; } void calc_columnas(int filas, int columnas) { int f = 0; int c = 0; while (c < columnas) { f = 0; Sumacolumna[c] = 0; while (f < filas) { Sumacolumna[c] = Sumacolumna[c] + tabla[f][c]; f = f + 1; } c = c + 1; } return; } int agregar_fila(char * mensaje, int fila, int columnas) { cout << mensaje << endl; int resultado = 0; int c = 0; while (c < columnas) { cin >> tabla[fila][c]; resultado = resultado + tabla[fila][c]; c = c + 1; } return resultado; } void most_tabla(int filas, int columnas) { char titulo[512]; sprintf(titulo , "Tabla %ix%i completa:", filas , columnas ); char encabezado[1024]; int c = 0; while (c < columnas) { sprintf(encabezado , "%s %i", encabezado , (c +1)); c = c + 1; } cout << titulo << endl; cout << encabezado << endl; cout << " +-----------------------------------+" << endl; int f = 0; char m_fila[filas][1024]; while (f < filas) { sprintf(m_fila [f ], " %i |", (f +1)); c = 0; while (c < columnas) { sprintf(m_fila [f ], "%s %i ", m_fila [f ], tabla [f ][c ]); c = c + 1; } sprintf(m_fila [f ], "%s| %i", m_fila [f ], Sumafila [f ]); cout << m_fila[f] << endl; f = f + 1; } char r_columna[1024]; c = 0; while (c < columnas) { sprintf(r_columna , "%s %i", r_columna , Sumacolumna [c ]); c = c + 1; } cout << r_columna << endl; cout << endl; return; }
Disculpa si no comente el codigo es que lo hice a las 4:25 am y la verdad tenia sueño xD si hay dudas mañana le hechamos juntos un vistaso, seguramente debe tener algun error el codigo xD.
Sigue programando, es algo bastante entretenido la programacion, todos los dias encuentras a alguien que sabe mas de lo que puedes llegar a imaginar xD (me pasa seguido xDD) Gracias por tu esfuerzo me ha sido muy util. Fuciona perfectamente pero no entiendo lo que quieres hacer, ya que, al usuario siempre se le piden introducir 5 datos por columna. Haber si hy me lo puedes explicar xD
ke como ya ves, llebo 2 dias programando en c++. Dios no se como lo haces, esk yo solo de ver el codigo me mareo O_O.
Última edición por berserkerhacker; 06/07/2011 a las 02:18 |