enunciado
//realizar un programa dada una matriz3*3 genere un vector b dond cada uno se sus componentes
//sea la suma de los elementos de la matriz y sus posiciones
[code=cpp]
[/code]
#include<iostream>
#include<conio.h>
using namespace std;
class matriz
{
int A[3][3],i,j,b;
int d[6],c,suma;
public:
void insertar_matriz_mostrar();
void insertrar_vector_mostrar();
void suma_mostrar();
};
void matriz::insertar_matriz_mostrar()
{
cout<<"cargar la matriz";
for(i=1;i<3;i++)
for(j=1;j<3;j++)
{
cout<<"numero a incluir";
cin>>A[j];
cout<<"mostrar"<<A[j];
}
}
void matriz::insertrar_vector_mostrar()
{
cout<<"cargar el vector";
for(c=1;c<6;c++)
{
cout<<"indique el numero";
cin>>d[c];
}
}
void matriz::suma_mostrar()
{
int suma;
cout<<"cargar suma";
for(i=1;i<3;i++)
for(j=1;j<3;j++)
{
suma=suma[1+i][j];
suma=suma[1+i][j];
suma=suma[1+i][j];
suma=suma[2+i][j];
cout<<"suma"<<d[c];
}
}
estos son los error que me da 1>.\matri.cpp(41) : error C2109: el subíndice requiere una matriz o tipo de puntero
1>.\matri.cpp(42) : error C2109: el subíndice requiere una matriz o tipo de puntero
1>.\matri.cpp(43) : error C2109: el subíndice requiere una matriz o tipo de puntero
1>.\matri.cpp(44) : error C2109: el subíndice requiere una matriz o tipo de puntero
la variable es de tipo int, y estas usando como si fuese un array
como un array no entiendo
suma=suma+A[i+j] asi puede ser
bueno en tu code te doy varias sugerencias
1 class matriz
{
int A[3][3],i,j,b;
int d[6],c,suma;
las clases por defecto tienen partes privadas pero esta bueno ponerlo, para mejor lectura, y como es privada las variables i,j,b,c,suma...no creo ameriten esa categoría.
el vector inicia en cero y es de tamaño 8 mas el cero ;D (3x3), no en seis.
2
void insertrar_vector_mostrar();
me pareció como excesiva.
3
cout<<"cargar la matriz";
for(i=1;i<3;i++)
for(j=1;j<3;j++)
{
cout<<"numero a incluir";
cin>>A[j];
cout<<"mostrar"<<A[j];
}
}
...bue muchos errores faltan aperturas de llaves, el tema de como se lee el tamaño de los vectores, el famoso ";" al final...bue para no ser extensivo aca te pongo la clase mas o menos como yo la veria
#include <iostream>
using namespace std;
class matriz
{
private:
int A[3][3];
int d[8];
public:
void insertar_matriz_mostrar();
void suma_mostrar();
};
void matriz::insertar_matriz_mostrar()
{
int i,j;
cout<<"cargar la matriz";
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
cout<<"numero a incluir";
cin>>A[i][j];
cout<<"mostrar"<<A[i][j];
}
}
};
void matriz::suma_mostrar()
{
int suma,i,j,h;
cout<<"inicia suma";
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
suma=A[i][j]+i+j;
for(h=0;h<=8;h++){
cin>>d[h];
cout<<"el vector es"<<d[h];
}
}
}
};
int main();
//todo no lo voy a hacer ;)
aclaro no lo probé pero compila bien hasta allí :rolleyes:
ultima aclaración en el problema que tenes no dice nada de usar clases, y me parece mas practico no usarlo ;)
cualquier macana que me haya mandado me avisan así también aprendo
gracias pero q debo hacer un menu con el void?
jajaj me encontre un error yo solo en la parte de cin>>d[h];
debe ser
cin>>d[h]=suma;
lo termine haci corre pero cuando se ejecuta se interrunpe
#include <iostream>
using namespace std;
class matriz
{
private:
int A[3][3];
int d[8];
public:
void insertar_matriz_mostrar();
void suma_mostrar();
};
void matriz::insertar_matriz_mostrar()
{
int i,j;
cout<<"cargar la matriz";
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
cout<<"numero a incluir";
cin>>A[j];
cout<<"mostrar"<<A[j];
}
}
};
void matriz::suma_mostrar()
{
int suma,i,j,h;
cout<<"inicia suma";
for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
suma=A[j]+i+j;
for(h=0;h<=8;h++){
cin>>d[h];
cout<<"el vector es"<<d[h];
}
}
}
};
void main()
{
matriz x;
int *h,d,suma;
cout<<"el vector es"<<d[h];
cin.get();
cin.get();
cin.get();
}
le agregue el x.suma_mostrar()
y ejecuta pero no c saca mas posiciones de lo q debe d ser
estoy arreglando eso es un bucle infinito en la parte de for para suma...me fijo y te aviso