Me pueden explicar como hago estos problemas! por favor.

Iniciado por JonatanP, 5 Junio 2020, 01:14 AM

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

JonatanP

Hola que tal, estoy en una clase de programación y estamos usando el dev c++. Nos encargaron el siguiente problema, pero no se como empezarlos. alguien me podria explicar. MUUCHAS GRACIAS!

Elabore un programa donde el usuario define el tamaño de una matriz A y el tamaño de una matriz B, las cuales serán
multiplicadas y generaran una matriz C resultante. Deberá tener en cuenta las siguientes reglas:
- Tamaño máximo de las matrices 10x10 de no cumplir con esto indique error y vuélvalo a solicitar hasta que cumpla
con un tamaño correcto
- Recuerde que para que una multiplicación de matrices pueda efectuarse el número de columnas de la matriz A
debe ser igual al número de renglones de la matriz B, es decir, Matriz A de MxN y Matriz B de PxQ N debe ser igual
a P para poder multiplicarse, así que verifíquelo primero y si no cumple con esto indique el error y vuelva a solicitar
ingresar el tamaño de las matrices. La matriz resultante quedará de tamaño MxQ. Ejemplo:
Se puede hacer la multiplicación porque el número de columnas de A es igual al número de renglones de B
Matriz A 3 x 2                    Matriz B 2 x 2                       Matriz C 3 x 2
1 2                                           2 3                   1x2 + 1x1         2x3 + 2x2
5 1                                           1 2                  5x2 + 5x1         1x3 + 1x2
1 4                                                                  1x2 + 1x1          4x3 + 4x2


prosebas

#1
Para validar que la matriz cumple con los requisitos puedes hacer los siguiente:
bool Valida=false;

while(Valida==false)
{
 cout<<"Numero de filas : ";
 cin>>Filas;
   cout<<"Numero de columnas : ";
 cin>>Columnas;

if(Filas<=10 && Columnas<=10)
{
 Valida=true;
}
else {
      cout<<"La matriz no cuenta con los requisitos "<<endl;
}
}



No se como hacer el código en Geshi para que se te facilite leerlo pero con el primer while lo que estas haciendo es pedirle al usuario que ingrese tanto las filas y columnas hasta que se valide que cumple las condiciones para eso el if cuando se cumple que tanto filas como columnas sean menores o iguales 10 va a cambiar " Valida" por lo tanto se sale del ciclo para que deje de pedir los valores


Para el segundo Item la validación es muy parecida, ya que te dicen que la cantidad de columnas de ambas matrices deben ser iguales para poder multiplicarse , entonces dependiendo de como lea los datos si con arrays o prefiere crear dos variables Col1 && Col2 debes validar que Col1==Col2 de lo contrario la multiplicación no se puede realizar y el usuario tiene que ingresar nuevamente los valores

K-YreX

No sé si estás programando en C o en C++. Te dejo un pseudocódigo para que intentes implementarlo en el lenguaje que uses:

// Un filtro para pedir el tamaño de la matriz A:
HACER
  PEDIR filasA, columnasA
  valido = filasA < 1 or filasA > 10 or columnasA < 1 or columnasA > 10
  SI !valido ENTONCES
    MOSTRAR "Error: El tamaño de la matriz no es valido"
  FIN SI
MIENTRAS !valido
matrizA[filasA][columnasA]
// Repetir lo mismo para la matriz B pero en este caso tendras que comprobar tambien que se cumpla la segunda condicion

matrizResultado[filasA][columnasB]
matrizResultado = multiplicar(matrizA, matrizB)


Ahora intenta codificar eso hasta donde llegues. Por lo menos hasta la parte de la matrizResultado tienes que poder llegar.
En cualquier caso si tienes algún problema y te estancas, coloca tu código entre etiquetas de Código GeSHi eligiendo el lenguaje adecuado (C/C++) y así viendo cómo lo llevas podremos guiarte mejor.

Suerte. :-X
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;