C/Visual C - adjunta de una matriz en c++

 
Vista:
sin imagen de perfil

adjunta de una matriz en c++

Publicado por joan (5 intervenciones) el 12/05/2018 00:29:30
Buen dia queria preguntar como puedo sacar la adjunta de mi matriz, ya que debo calcular la adjunta y el determinante, por tanto ya saque el determinante pero al tratar de sacar la adjunta me tira error, quisiera saber que es lo que debo hacer muchas gracias. Me sale el siguiente error:
6 1 C:\Users\jhoan diaz\Downloads\Progra\ejercicios c++\ejercicio 7.cpp [Error] expected unqualified-id before '{' token

El codigo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
float determinante(float A[3][3]) ,adjunta(float A[0][0]);
{
    float det,adj;
    det=(A[0][0]*A[1][1]*A[2][2])+(A[1][0]*A[2][1]*A[0][2])+(A[0][1]*A[1][2]*A[2][0])-((A[0][2]*A[1][1]*A[2][0])+(A[1][2]*A[2][1]*A[0][0])+(A[0][1]*A[1][0]*A[2][2])); //operacion para el calculo del determinante 
    adj= (A[0][0] = A[1][1] *A[2][2] - A[2][1] * A[1][2]);
    return det;
}
 
int main(){
    int i,j;
	float A[3][3];
	for(i=0;i<3;i++){
		for (j=0;j<3;j++){
			cout<<" por favor ingrese el valor de la posicion: " <<i<<"-"<<j<<" = ";
			cin>>A[i][j];
		}
        cout<<endl;
	}
	for(i=0;i<3;i++){
		for (j=0;j<3;j++){
			cout<<  A[i][j]<<" ";
	   }
        cout<<endl<<" "<<endl;
	}
 
    cout << "El determinante es: "<< determinante(A)<<endl;
    cout << "La adjunta es: "<< adjunta(A)<<endl;
    return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 72
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

adjunta de una matriz en c++

Publicado por juanki (31 intervenciones) el 13/05/2018 13:30:27
Hola

1
2
float determinante(float A[3][3]) ,adjunta(float A[0][0]);
{

¿No será ese punto y coma que pusiste antes de la llave de apertura?

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

adjunta de una matriz en c++

Publicado por joan (5 intervenciones) el 13/05/2018 15:23:55
Pero de hacerlo así, no sabria en que linea poner la operacion para que funcione la adjunta y me la muestre en pantalla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 72
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

adjunta de una matriz en c++

Publicado por juanki (31 intervenciones) el 13/05/2018 20:14:41
Ah, bueno, espera, no me había fijado.

¡¡Estás tratando de definir dos funciones a las que le tratas de asignar el mismo código!!

Vamos a ver, tienes que definirlas por separado. primero, antes del main las declaras y luego las implementas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
float determinante(float A[3][3]);
float adjunta(float A[0][0]);
 
int main(){
 
    // código del main aquí
 
}
 
float determinante(float A[3][3]) {
 
     // código de la función determinante aquí
}
 
float adjunta(float A[0][0]) {
 
    // código de la función adjunta aquí
 
}

Puedes poner la implementación antes del main también, donde la declaración, pero a mi me gusta más hacerlo así.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

adjunta de una matriz en c++

Publicado por joan (5 intervenciones) el 13/05/2018 20:23:36
Básicamente si, estoy tratando de definir dos funciones, pero pues al no poder hacerlo se me ocurrió coger la matriz donde ingreso los datos y luego utilizar punteros para hacer la operación de la adjunta, pero no he logrado almacenarlas en una matriz para mostrar la matriz adjunta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream> // se llaman librerias a utilizar
 
using namespace std;
float determinante(float A[3][3]){ // prototipo para la funcion que calcula el determinante de una matriz 3x3
    float det;
    det=(A[0][0]*A[1][1]*A[2][2])+(A[1][0]*A[2][1]*A[0][2])+(A[0][1]*A[1][2]*A[2][0])-((A[0][2]*A[1][1]*A[2][0])+(A[1][2]*A[2][1]*A[0][0])+(A[0][1]*A[1][0]*A[2][2])); //operacion para el calculo del determinante 
    return det; // retorna el valor del determinante
}
 
int main(){
    int x,i,j,n,*pC; //declaro variables
	float A[3][3]; // declaro la matriz y digo de cuantos valores 
    float B[3][3];
	int C[3][3]={};
		pC=&C[0][0];
	for(i=0;i<3;i++){  // condicion para poder ingresar los valores de la matriz
		for (j=0;j<3;j++){
			cout<<" por favor ingrese el valor de la posicion: " <<i<<"-"<<j<<" = ";
			cin>>A[i][j];
 
		}
	cout<<endl;
	}
	for(i=0;i<3;i++){  //condicion para imprimir la matriz en pantalla
		for (j=0;j<3;j++){
			cout<<  A[i][j]<<" ";
	   }
	cout<<endl<<" "<<endl;
	}
 
x=(((*(pC+4))*(*(pC+8)))-((*(pC+7))*(*(pC+5))));
A[0][1]=(((*(pC+3))*(*(pC+8)))-((*(pC+6))*(*(pC+5))));
A[0][2]=(((*(pC+3))*(*(pC+7)))-((*(pC+6))*(*(pC+4))));
A[1][0]=(((*(pC+1))*(*(pC+8)))-((*(pC+2))*(*(pC+7))));
A[1][1]=(((*(pC))*(*(pC+8)))-((*(pC+2))*(*(pC+6))));
A[1][2]=(((*(pC))*(*(pC+7)))-((*(pC+1))*(*(pC+6))));
A[2][0]=(((*(pC+1))*(*(pC+5)))-((*(pC+2))*(*(pC+4))));
A[2][1]=(((*(pC))*(*(pC+5)))-((*(pC+2))*(*(pC+3))));
A[2][2]=(((*(pC))*(*(pC+4)))-((*(pC+1))*(*(pC+3))));
 
 
   cout<<x<<"df";
 
   cout << "El determinante es: "<< determinante(A)<<endl;
 
 
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

adjunta de una matriz en c++

Publicado por joan (5 intervenciones) el 13/05/2018 20:29:45
No se si me hice entender, independiente mente si es funcion o no, yo quiero saber como coger las posiciones de la matriz A y aplicarle la adjunta y luego hacer una nueva matriz que es la matriz adjunta pero no se si este bien, como hice los punteros, y si estan bien, como hago para imprimir en matriz? Que es el problema que he tenido mas grande. No se me ocurre como almacenarlo en matriz cada operacion de la adjunta.
De todas formas muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 72
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

adjunta de una matriz en c++

Publicado por juanki (31 intervenciones) el 14/05/2018 15:29:52
Hola

No sé en qué te has liado, has declarado una matrices que no usas, si quieres darle algún valor se hace como cuando llenas la A en el bucle.

Luego, el puntero pC lo igualas al array C, pero este no tiene nada, por lo que las operaciones que haces después, vete a saber que ocurre.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

adjunta de una matriz en c++

Publicado por joan (5 intervenciones) el 14/05/2018 15:54:37
Es que no se como llenar la adjunta en un bucle con punteros, ya que no he usado los punteros con la adjunta .Es que no le encuentro un patron a la adjunta para hacerlo en un bucle for por eso es que pregunto y pues de hacerlo tampoco se usar punteros en un bucle. Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar