Foros del Web » Programación para mayores de 30 ;) » .NET »

Como puedo pasar este codigo de c++ a C# (determinante matriz nxn)

Estas en el tema de Como puedo pasar este codigo de c++ a C# (determinante matriz nxn) en el foro de .NET en Foros del Web. buenas tardes tengo este codigo en c++, pero lo quiero hacer en modo grafico, y c# me parece una buena opcion, pero no tengo ni ...
  #1 (permalink)  
Antiguo 09/10/2011, 17:41
 
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 15 años, 10 meses
Puntos: 2
Como puedo pasar este codigo de c++ a C# (determinante matriz nxn)

buenas tardes tengo este codigo en c++, pero lo quiero hacer en modo grafico, y c# me parece una buena opcion, pero no tengo ni idea de como hacerlo, que puedo hacer para que al ingresar de cuanto es la matriz automatica me despligue esos textbox o lo que sea para ingresar los datos, les dejo el codigo y espero puedan ayudarme.
basicamente lo que hace que pide de cuanto es la matriz cuadrada y luego se ingresan los valores de modo horizontal.

Código C++:
Ver original
  1. #include <iostream.h>
  2. #include <alloc.h>
  3. #include <math.h>
  4. #include <stdlib.h>
  5.  
  6. double det(double **m, int b){
  7.  
  8.         double determinante = 0, aux = 0;
  9.  
  10.         int c;
  11.  
  12.         if(b==2)
  13.  
  14.                 return m[0][0]*m[1][1] - m[1][0]*m[0][1];
  15.  
  16.         else{
  17.  
  18.                 for(int j=0; j<b; j++){
  19.  
  20.                         double **menor = (double **)malloc(sizeof(double)*(b-1));
  21.  
  22.                         for(int h=0; h<(b-1); h++) menor[h] = (double *)malloc(sizeof(double)*(b-1));
  23.  
  24.                         for(int k=1; k<b; k++){
  25.  
  26.                                 c = 0;
  27.  
  28.                                 for(int l=0; l<b; l++){
  29.  
  30.                                         if(l!=j){
  31.  
  32.                                                 menor[k-1][c] = m[k][l];
  33.  
  34.                                                 c++;
  35.  
  36.                                         }
  37.                                 }
  38.                         }
  39.  
  40.                         aux = pow(-1, 2+j)*m[0][j]*det(menor, b-1);
  41.  
  42.                         determinante += aux;
  43.  
  44.                         for(int q = 0; q<(b-1); q++)
  45.  
  46.                                 free(menor[q]);
  47.  
  48.                         free(menor);
  49.  
  50.                 }
  51.                 return determinante;
  52.  
  53.         }
  54. }
  55.  
  56.  
  57.  
  58. int main(){
  59.  
  60.         int n;  // n = numero de renglones = numero de columnas
  61.  
  62.         double **m=NULL;
  63.         cout<<"Calcular Determinante por Cofactores (Matrices Cuadradas)"<<endl;
  64.         cout<<"Elija el numero de renglones o columnas que tiene su matriz: ";
  65.  
  66.         cin>>n;
  67.  
  68.  
  69.  
  70.         // Se crea la matriz de forma dinamica
  71.  
  72.         m = (double **)malloc(sizeof(double)*n);
  73.  
  74.         for(int i=0; i<n; i++) m[i]=(double *)malloc(sizeof(double)*n);
  75.  
  76.  
  77.  
  78.         // Pide el valor de cada elemento de la matriz
  79.  
  80.         for(int y=0; y<n; y++)
  81.  
  82.                 for(int w=0; w<n; w++){
  83.  
  84.                         cout<<"Introduzca el valor de matriz["<<y<<"]["<<w<<"]: ";
  85.  
  86.                         cin>>m[y][w];
  87.  
  88.                 }
  89.  
  90.  
  91.         // Despliego el resultado de la funcion det
  92.  
  93.         cout<<"Determinante: "<<det(m, n)<< endl;
  94.  
  95.  
  96.    // Libero la memoria utilizada por la matriz
  97.  
  98.         for(int r=0; r<n; r++) free(m[r]);
  99.  
  100.         free(m);
  101.  
  102.  
  103. system("\npause");
  104.    return 0;
  105. }

Etiquetas: basic, matriz, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.