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;
}
Ejemplo n.º 3
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();
}