programa de matriz aver si el programa q estoy haciendo esta bien

Iniciado por eduardo17445, 22 Octubre 2012, 07:19 AM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445


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
Código (cpp) [Seleccionar]
[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];         
      }
      
   }
   

eduardo17445

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

x64core

la variable es de tipo int, y estas usando como si fuese un array



flony

#5
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
si un problema no tiene solucion entonces no es un problema...es algo inevitable

eduardo17445


flony

jajaj me encontre un error yo solo en la parte de cin>>d[h];
debe ser
cin>>d[h]=suma;
si un problema no tiene solucion entonces no es un problema...es algo inevitable

eduardo17445


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();

}




   
   


      

eduardo17445

le agregue el x.suma_mostrar()
y ejecuta pero no c saca mas posiciones de lo q debe d ser