Saludos, necesito urgentemente hacer dos programa en Bisual C++ con Clase, a continuacion los transcribo.
Ejersicio
1) Realizar un programa en c++ que imprima un cuadrado magico de tamaño n donde n es un numero impar comprendido entre 3 y 11 un cuadrado esta compuesto de numeros enteros entre 1 y n caracteristicas la suma filas columnas diagonales son igual como se ve en el ejemplo
8 1 6
3 5 7
4 9 2
El metodo de jeneracion del cuadrado magico consiste en situar el numero 1 en la casilla del centro de la primera fila el siguiente numero se debe situar en la casilla ubicada en la fila anterior y en la colunna de la derecha este proceso se repite hasta colocar los n numeros . ulizar clases
2) Realizar un programa en c++ que lea 2 matrices n *n y muestre el resultado de la suma de los elementos de las matrices utilizar clases
nota usar menu los programas se ejecutan tantas veces quiera el usuario
Tienes que poner lo que llevas hecho de código, si no lo pones no te podemos hacer nada.
#include <iostream.h>
#include <stdlib.h>
int operacion(int [][100], int [][100], int [][100], int , int , int, int, int);
.
int main()
{
int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100];
. cout<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
while ((n>0) && (n<3))
{
. f1=0; c1=0; f2=0; c2=0;
while ((f1<1) || (f1>101))
{ cout<<"Introduce las filas de la matriz 1 [1-100]: "; cin>>f1; }
while ((c1<1) || (c1>101))
#include <iostream.h>
#include <stdlib.h>
int operacion(int [][100], int [][100], int [][100], int , int , int, int, int);
.
int main()
{
int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100];
. cout<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
while ((n>0) && (n<3))
{
. f1=0; c1=0; f2=0; c2=0;
while ((f1<1) || (f1>101))
{ cout<<"Introduce las filas de la matriz 1 [1-100]: "; cin>>f1; }
while ((c1<1) || (c1>101))
{ cout<<"Introduce las columnas de la matriz 1 [1-100]: "; cin>>c1; }
for (f=0; f<=f1; f++)
{
. for (c=0; c<=c1; c++)
{ cout<<"m1["<<f<<"]["<<c<<"] = "; cin>>m1[f][c]; }
. }
while ((f2<1) || (f2>101))
{ cout<<endl<<"Introduce las filas de la matriz 2 [1-100]: "; cin>>f2; }
while ((c2<1) || (c2>101))
{ cout<<"Introduce las columnas de la matriz 2 [1-100]: "; cin>>c2; }
for (f=0; f<=f2; f++)
. {
. for (c=0; c<=c2; c++)
{ cout<<"m2["<<f<<"]["<<c<<"] = "; cin>>m2[f][c]; }
. }
r=operacion(m1,m2,mr,n,f1,f2,c1,c2);
. if (r==-1) cout<<endl<<"No se pudo realizar la operacion ya que el tamaño de las matrices no coincide";
. else
{
for (f=0; f<=f2; f++)
. {
. for (c=0; c<=c2; c++)
. cout<<" "<<mr[f][c]<<" ";
. cout<<endl;
. }
. }
. cout<<endl<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
}
cout<<endl<<"Fin de programa..."<<endl;
. system("PAUSE");
. return 0;
}
.
int operacion(int m1[][100], int m2[][100], int mr[][100], int n, int f1, int f2,int c1, int c2)
{
. int f,c;
. if ((f1==f2) && (c1==c2)) //si si se pueden sumar/restar
. {
. if (n==1) //suma
. {
for (f=0; f<=f1; f++)
. {
. for (c=0; c<=c1; c++)
. mr[f][c] = m1[f][c] + m2[f][c];
. }
}
else //resta
. {
for (f=0; f<=f1; f++)
{
for (c=0; c<=c1; c++)
. mr[f][c] = m1[f][c] - m2[f][c];
. }
.
}
return 1;
. }
. else
. {return -1;}
. }
Ese código funciona? o tiene errores?
tiene errores
¿Por qué no lo posteas en el subforo de c/c++?
Por favor usa Geshi. Un saludo
Cita de: ce17buloz en 23 Junio 2009, 03:49 AM
#include <iostream.h>
#include <stdlib.h>
int operacion(int [][100], int [][100], int [][100], int , int , int, int, int);
.
int main()
{
int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100];
. cout<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
while ((n>0) && (n<3))
{
. f1=0; c1=0; f2=0; c2=0;
while ((f1<1) || (f1>101))
{ cout<<"Introduce las filas de la matriz 1 [1-100]: "; cin>>f1; }
while ((c1<1) || (c1>101))
{ cout<<"Introduce las columnas de la matriz 1 [1-100]: "; cin>>c1; }
for (f=0; f<=f1; f++)
{
. for (c=0; c<=c1; c++)
{ cout<<"m1["<<f<<"]["<<c<<"] = "; cin>>m1[f][c]; }
. }
while ((f2<1) || (f2>101))
{ cout<<endl<<"Introduce las filas de la matriz 2 [1-100]: "; cin>>f2; }
while ((c2<1) || (c2>101))
{ cout<<"Introduce las columnas de la matriz 2 [1-100]: "; cin>>c2; }
for (f=0; f<=f2; f++)
. {
. for (c=0; c<=c2; c++)
{ cout<<"m2["<<f<<"]["<<c<<"] = "; cin>>m2[f][c]; }
. }
r=operacion(m1,m2,mr,n,f1,f2,c1,c2);
. if (r==-1) cout<<endl<<"No se pudo realizar la operacion ya que el tamaño de las matrices no coincide";
. else
{
for (f=0; f<=f2; f++)
. {
. for (c=0; c<=c2; c++)
. cout<<" "<<mr[f][c]<<" ";
. cout<<endl;
. }
. }
. cout<<endl<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
}
cout<<endl<<"Fin de programa..."<<endl;
. system("PAUSE");
. return 0;
}
.
int operacion(int m1[][100], int m2[][100], int mr[][100], int n, int f1, int f2,int c1, int c2)
{
. int f,c;
. if ((f1==f2) && (c1==c2)) //si si se pueden sumar/restar
. {
. if (n==1) //suma
. {
for (f=0; f<=f1; f++)
. {
. for (c=0; c<=c1; c++)
. mr[f][c] = m1[f][c] + m2[f][c];
. }
}
else //resta
. {
for (f=0; f<=f1; f++)
{
for (c=0; c<=c1; c++)
. mr[f][c] = m1[f][c] - m2[f][c];
. }
.
}
return 1;
. }
. else
. {return -1;}
. }
Y pregunto yo, donde estan las clases?