void matrix_t::redimensiona(matrix_inx_t m,matrix_inx_t n) { destruirMatriz(); m_=m; n_=n; crearMatriz(); }
int main(void) { int iRen = 5; int iCol = 6; float** fMat = crearMatriz(iRen,iCol); llenarMatriz(fMat,iRen,iCol); imprimirMatriz(fMat,iRen,iCol); destruirMatriz(fMat,iRen); return 0; }
TST_tpCondRet TST_EfetuarComando( char * ComandoTeste ) { MAT_tpCondRet CondRetObtido = MAT_CondRetOK ; MAT_tpCondRet CondRetEsperada = MAT_CondRetFaltouMemoria ; /* inicializa para qualquer coisa */ char StringDado[ DIM_VALOR ] ; int i , valor; int numColuna, numLinha; int NumLidos = -1 ; int inxMatriz = -1 ; numColuna = -1; numLinha = -1; valor = -1; StringDado[ 0 ] = 0 ; #ifdef _DEBUG int IntEsperado = -1 ; #endif /* Tratar: inicializar contexto */ if ( strcmp( ComandoTeste , RESET_CMD ) == 0 ) { if ( estaInicializado ) { for( i = 0 ; i < DIM_VT_MATRIZES ; i++ ) { destruirMatriz( ( vtRefMatriz[ i ] )) ; } /* for */ } /* if */ for( i = 0 ; i < DIM_VT_MATRIZES ; i++ ) { vtRefMatriz[ i ] = 0 ; } /* for */ estaInicializado = 1 ; } /* fim ativa: Tratar: inicializar contexto */ /* Testar MAT Criar matriz */ // else if ( strcmp( ComandoTeste , CRIAR_MAT_CMD ) == 0 ) // { // NumLidos = LER_LerParametros( "ii" , // &inxMatriz , &CondRetEsperada ) ; // if ( ( NumLidos != 2 ) // || !VerificarInx( inxMatriz )) // { // return TST_CondRetParm ; // } /* if */ //CondRetObtido = criarMatriz( &(vtRefMatriz[inxMatriz] )); // return TST_CompararInt( CondRetEsperada , CondRetObtido , // "Retorno errado ao criar matriz." ); // } /* fim ativa: Testar MAT Criar matriz */ /* Testar MAT Adicionar linha à matriz */ // else if ( strcmp( ComandoTeste , INS_LIN_CMD ) == 0 ) // { // NumLidos = LER_LerParametros( "ii" , // &inxMatriz , &CondRetEsperada ) ; // if ( ( NumLidos != 2 ) // || !VerificarInx( inxMatriz )) // { // return TST_CondRetParm ; // } /* if */ //CondRetObtido = inserirLinha(*vtRefMatriz[inxMatriz]); // return TST_CompararInt( CondRetEsperada , CondRetObtido , // "Retorno errado inserir à direita." ); // } /* fim ativa: Testar MAT Adicionar linha à matriz */ // /* Testar MAT Adicionar coluna à matriz */ // else if ( strcmp( ComandoTeste , INS_COL_CMD ) == 0 ) // { // NumLidos = LER_LerParametros( "ii" , // &inxMatriz , &CondRetEsperada ) ; // if ( ( NumLidos != 2 ) // || !VerificarInx( inxMatriz )) // { // return TST_CondRetParm ; // } /* if */ //CondRetObtido = inserirColuna(*vtRefMatriz[inxMatriz]); // return TST_CompararInt( CondRetEsperada , CondRetObtido , // "Retorno errado ao inserir à esquerda." ); // } /* fim ativa: Testar MAT Adicionar coluna à matriz */ /* Testar MAT Criar tabuleiro */ else if ( strcmp( ComandoTeste , CRIAR_TAB_CMD ) == 0 ) { NumLidos = LER_LerParametros( "iiii" , &inxMatriz , &numLinha, &numColuna, &CondRetEsperada ) ; if ( ( NumLidos != 4 ) || !VerificarInx( inxMatriz )) { return TST_CondRetParm ; } /* if */ CondRetObtido = criarTabuleiro(&(vtRefMatriz[inxMatriz]), numLinha, numColuna); return TST_CompararInt( CondRetEsperada , CondRetObtido , "Retorno errado ao criar tabuleiro." ); } /* fim ativa: Testar MAT Criar tabuleiro */ /* Testar MAT Empilhar valor */ else if ( strcmp( ComandoTeste , EMP_VAL_CMD ) == 0 ) { printf("Entrou no empilhar"); NumLidos = LER_LerParametros( "iiiii" , &inxMatriz , &valor, &numLinha, &numColuna, &CondRetEsperada ) ; if ( ( NumLidos != 5 ) || !VerificarInx( inxMatriz )) { return TST_CondRetParm ; } /* if */ CondRetObtido = empilharValor(vtRefMatriz[0], 1, numLinha, numColuna ) ; return TST_CompararInt( CondRetEsperada , CondRetObtido , "Retorno errado ao empilhar valor." ); } /* fim ativa: Testar MAT Empilhar valor */ /* Testar MAT Desempilhar valor */ else if ( strcmp( ComandoTeste , DESEMP_VAL_CMD ) == 0 ) { NumLidos = LER_LerParametros( "iiii" , &inxMatriz , &numLinha, &numColuna, &CondRetEsperada ) ; if ( ( NumLidos != 4 ) || !VerificarInx( inxMatriz )) { return TST_CondRetParm ; } /* if */ CondRetObtido = desempilharValor( vtRefMatriz[ inxMatriz ], numLinha, numColuna); return TST_CompararInt( CondRetEsperada , CondRetObtido , "Retorno errado ao desempilhar valor." ); } /* fim ativa: Testar MAT Desempilhar valor */ /* Testar MAT Destruir matriz */ else if( strcmp( ComandoTeste, DESTRUIR_MAT_CMD) == 0) { NumLidos = LER_LerParametros( "ii" , &inxMatriz, &CondRetEsperada ) ; if ( ( NumLidos != 2 ) || !VerificarInx( inxMatriz )) { return TST_CondRetParm ; } /* if */ CondRetObtido = destruirMatriz( vtRefMatriz[ inxMatriz ] ); return TST_CompararInt(CondRetEsperada, CondRetObtido, "Retorno errado destruir matriz."); }/* fim ativa: Testar MAT Destruir matriz */ return TST_CondRetNaoConhec ; } /* Fim função: TMAT &Efetuar operações específicas */
matrix_t::~matrix_t(void) { destruirMatriz(); traspuesta_=false; }
matrix_t::~matrix_t(void) { destruirMatriz(); }