Dev - C++ - Encontrar numeros en una matriz 3x5

 
Vista:

Encontrar numeros en una matriz 3x5

Publicado por Kevin Orellana (2 intervenciones) el 20/10/2020 09:31:50
Hola buen día, quisiera saber si me pueden ayudar, necesito un programa que me encuentre los numeros en una matriz que me den como resultado un valor ya establecido con la condición que solamente se pueda tomar 1 valor por cada fila, es decir:

1 2 3 4 5
1 2 3 4 5
1 5 3 8 5
6 2 3 4 5
1 2 3 3 5

El numero que tiene que dar como resultado un ejemplo seria el 8. Quedando la respuesta si existiran esos sumandos asi

Fila 1 el numero 1
Fila 2 el numero 1
Fila 3 el numero 1
Fila 4 el numero 4
Fila 5 el numero 1
Y si en dado caso no existe tales sumandos para dar con el numero proporcionado que solo muestre NO EXISTEN SUMANDOS.

Y si hay otras combinaciones que tambien las muestre...
Alguien que me pueda ayudar por favor??
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Encontrar numeros en una matriz 3x5

Publicado por Rodrigo (539 intervenciones) el 20/10/2020 16:42:25
Podrias hacerlo de manera recursiva.
Si no lo quieres hacer de manera recursiva, una manera posible:

Hacer tantos ciclos como filas, y por cada ciclo tienes que hacer tantas iteraciones como columnas ...

1
2
3
4
5
6
7
8
9
10
11
for( int i = 0; i < columnas; i++) {
    suma = matriz[0][i];
    for( int j = 0; j < columnas; j++) {
        suma += matriz[1][j];
        for( int k = 0; k < columnas; k++) {
            suma += matriz[2][k];
            ...
            // asi sucesivamente, 1 ciclo por fila
        }
    }
}

asi sucesivamente, solo que en el ultimo ciclo, justo despues de hacer suma += ...
compruebas si la suma es el numero que buscas, y si es, puedes saber los
numeros que suman tomando los indices que te hicieron llegar aqui.

Si la matriz son solo numeros positivos, podrias hacer mas rapido el proceso no haciendo los ciclos cuando la suma parcial es mayor que el objetivo. Bastaria con agregarle una condicion a cada for.
Supongo que esta optimizacion es opcional.

Tienes que contar las veces que la suma calzo con lo que buscabas. Para eso, define un contador, ponlo en 0 antes de los ciclos e incrementalo cada vez que la suma calce con lo que buscabas.
Luego, justo despues de todos los ciclos, al final, preguntas si el contador es 0 y si es 0 escribes "NO EXISTEN SUMANDOS", como te lo solicitan.

La primera secuencia de ciclos se puede reemplazar, pero por otra mas sencilla, pero esto te lo dejo a ti, si ves que tanta repeticion podria hacerla de una manera alternativa.
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

Encontrar numeros en una matriz 3x5

Publicado por Kevin Orellana (2 intervenciones) el 20/10/2020 16:49:53
Muchas gracias amigo tratare de hacer eso que dices soy u poco tacho podrias mas o menos hacerme el codigo para una matriz digamos de 3x3 o de 2x2 y de alli partir yo? Con las mismas reglas
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Encontrar numeros en una matriz 3x5

Publicado por Rodrigo (539 intervenciones) el 20/10/2020 16:52:45
Intenta tu. Mis ayudas llegan hasta aqui, o bien si veo codigo ya hecho.
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

Encontrar numeros en una matriz 3x5

Publicado por Kevin Orellana (2 intervenciones) el 20/10/2020 16:57:43
Perfecto amigo, intentare lograrlo con lo que me has brindado muchas gracias siempre sos grande!
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

Encontrar numeros en una matriz 3x5

Publicado por Kevin Orellana (2 intervenciones) el 20/10/2020 18:47:44
Amigo checa esto haber que opinas, según mi criterio ya esta bien ya que me ha encontrado las combinaciones que he puesto y me ha rechazado cuando no lo encuentra, pero me gustaria que mostrara un texto que diga combinación no existe y no se donde colocar ese texto jaja

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
#include <iostream>
using namespace std;
 
int main()
{
    int numero[3] =  {12, 16, 20};
    int numero2[3] = {12, 16, 20};
    int numero3[3] = {18, 22, 30};
    int numero4[3] = {12, 16, 20};
    int numero5[3] = {6,  9,  10};
    int i,j,k,l,m;
    int valor1, valor2, valor3, valor4, valor5;
    int n;
 
    cout<< "Ingresa nota a buscar: ";
    cin>>n;
 
        for (i=0; i<=2; i++) {
        valor1 = numero[i];
 
            for (j=0; j<=2; j++){
                valor2 = numero2[j];
                for (k=0; k<=2; k++){
                    valor3 = numero3[k];
                    for (l=0; l<=2; l++){
                        valor4 = numero4[l];
                        for (m=0; m<=2; m++){
                            valor5 = numero5[m];
                            if (valor1 + valor2 + valor3 + valor4 + valor5 == n){
                            cout<<"Fila 1: "<<valor1<<endl;
                            cout<<"Fila 2: "<<valor2<<endl;
                            cout<<"Fila 3: "<<valor3<<endl;
                            cout<<"Fila 4: "<<valor4<<endl;
                            cout<<"Fila 5: "<<valor5<<endl;
                            cout<<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