Código C++:
Ver original
#include <iostream> #include <iomanip> #include <cstdlib> #include "Matriz2D-1.h" using namespace std; Matriz2D_1 CreaMatriz2D_1 (int fils, int cols) { Matriz2D_1 matriz = new int *[fils]; for (int f=0;f<fils;f++) matriz[f] = new int [cols]; return(matriz); } Matriz2D_1 AleatorizaMatriz2D_1 (int fils, int cols, int MAX) { Matriz2D_1 aleatoria = CreaMatriz2D_1 (fils, cols); for (int f=0; f<fils; f++) for (int c=0; c<cols; c++) return (aleatoria); } Matriz2D_1 LeeMatriz2D_1 (int fils, int cols) { Matriz2D_1 matriz = CreaMatriz2D_1 (fils, cols); int valor; for (int f=0;f<fils;f++) for (int c=0;c<cols;c++){ cout << "Introduce el valor de matriz[" << f << "][" << c << "]: "; cin >> valor; matriz[f][c]=valor; } return(matriz); } void PintaMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols) { for (int f=0;f<fils;f++){ for (int c=0;c<cols;c++) cout << setw(5) << matriz[f][c]; cout << endl; } } Matriz2D_1 CopiaMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols) { Matriz2D_1 copia = CreaMatriz2D_1 (fils, cols); for (int f=0; f<fils; f++) return (copia); } Matriz2D_1 SubMatriz2D_1 (Matriz2D_1 matriz, int fil_init, int col_init, int fil_end, int col_end) { int fils_submatriz = fil_end - fil_init + 1; int cols_submatriz = col_end + col_init + 1; Matriz2D_1 submatriz = CreaMatriz2D_1 (fils_submatriz, cols_submatriz); int fila_submatriz=0; int col_submatriz=0; for (int f=fil_init-1; f<fil_end; f++, fila_submatriz++) for (int c=col_init-1; c<col_end; c++, col_submatriz++) return (submatriz); } Matriz2D_1 EliminaColumnaMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols, int columna) { Matriz2D_1 reducida2 = CreaMatriz2D_1 (fils, cols-1); int col_reducida=0; for (int f=0; f<fils; f++) for (int c=0; c<columna; c++, col_reducida++) for (int f=0; f<fils; f++) for (int c=columna+1; c<cols; c++, col_reducida++) return (reducida2); } Matriz2D_1 EliminaFilaMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols, int fila_borrar) { Matriz2D_1 reducida = CreaMatriz2D_1 (fils-1, cols); int fila_reducida = 0; for (int f=0; f<fila_borrar; f++, fila_reducida++) for (int f=fila_borrar+1; f<fils; f++, fila_reducida++) return (reducida); } Matriz2D_1 TraspuestaMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols) { Matriz2D_1 transpuesta = CreaMatriz2D_1 (fils, cols); for (int f=0;f<fils;f++) for (int c=0;c<cols;c++) return (transpuesta); } Matriz2D_1 InvierteMatriz2D_1 (Matriz2D_1 matriz, int fils, int cols) { Matriz2D_1 invertida = CreaMatriz2D_1 (fils, cols); int fila_invertida=fils-1; for (int f=0; f<fils; f++, fila_invertida--) return (invertida); } void LiberaMatriz2D_1 (Matriz2D_1 matriz,int fils,int cols) { for (int f=0;f<fils;f++) delete [] matriz[f]; delete matriz; }
Si lo compilo me sale los siguientes errores:
Código HTML:
src/Matriz2D-1.cpp: In function ‘int** AleatorizaMatriz2D_1(int, int, int)’: src/Matriz2D-1.cpp:26:30: error: too many arguments to function ‘int rand()’ /usr/include/stdlib.h:380:12: note: declared here src/Matriz2D-1.cpp: In function ‘int** CopiaMatriz2D_1(Matriz2D_1, int, int)’: src/Matriz2D-1.cpp:60:48: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp: In function ‘int** SubMatriz2D_1(Matriz2D_1, int, int, int, int)’: src/Matriz2D-1.cpp:75:79: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp: In function ‘int** EliminaColumnaMatriz2D_1(Matriz2D_1, int, int, int)’: src/Matriz2D-1.cpp:88:65: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp:92:65: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp: In function ‘int** EliminaFilaMatriz2D_1(Matriz2D_1, int, int, int)’: src/Matriz2D-1.cpp:106:63: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp:108:63: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp: In function ‘int** TraspuestaMatriz2D_1(Matriz2D_1, int, int)’: src/Matriz2D-1.cpp:118:56: error: ‘memcpy’ was not declared in this scope src/Matriz2D-1.cpp: In function ‘int** InvierteMatriz2D_1(Matriz2D_1, int, int)’: src/Matriz2D-1.cpp:128:65: error: ‘memcpy’ was not declared in this scope