Dev - C++ - Problemas condicionales

   
Vista:
Imágen de perfil de dotar

Problemas condicionales

Publicado por dotar (15 intervenciones) el 22/05/2015 04:55:04
Buenas podrían ayudarme en este código, dividí un número de 16 dígitos para luego compararlos, pero tengo que comprobar que lo dígitos esten entre 1 y 4 y puse este condicional pero si ingreso los números correctos ( entre 1 y 4) me da error ( el mensaje de error del if)

este es el código

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
44
45
46
47
48
49
50
51
int main () {
 
int a,b,c,d,e,f,a11,a12,a13,a14,b11,b12,b13,b14,c11,c12,c13,c14,d11,d12,d13,d14;
	unsigned long long int x;
cout<<"introduzca la cadena"<<endl;
	cin>>x;
 
 
    a=x/100000000;
	b=x%100000000;
	c=a/10000;
	d=a%10000;
	e=b/10000;
	f=b%10000;
	a11=c/1000;
	c=c%1000;
	a12=c/100;
	c=c%100;
	a13=c/10;
	a14=c%10;
	b11=d/1000;
	d=d%1000;
	b12=d/100;
	d=d%100;
	b13=d/10;
	b14=d%10;
	c11=e/1000;
	e=e%1000;
	c12=e/100;
	e=e%100;
	c13=e/10;
	c14=e%10;
	d11=f/1000;
	f=f%1000;
	d12=f/100;
	f=f%100;
	d13=f/10;
	d14=f%10;
 
 
	if ( ((a11!=1) and (a11!=2) and (a11!=3) and (a11!=4))  or  ((a12!=1) and (a12!=2) and (a12!=3) and (a12!=4)) or  ((a13!=1) and (a13!=2) and (a13!=3) and (a13!=4)) or ((a14!=1) and (a14!=2) and (a14!=3) and (a14!=4)));
	{cout<<" numero introducido incorrecto"<<endl;}
 
	if ( ((b11!=1) and (b11!=2) and (b11!=3) and (b11!=4))  or  ((b12!=1) and (b12!=2) and (b12!=3) and (b12!=4)) or  ((b13!=1) and (b13!=2) and (b13!=3) and (b13!=4)) or ((b14!=1) and (b14!=2) and (b14!=3) and (b14!=4)));
	{cout<<" numero introducido incorrecto"<<endl;}
 
	if ( ((c11!=1) and (c11!=2) and (c11!=3) and (b11!=4))  or  ((c12!=1) and (c12!=2) and (c12!=3) and (c12!=4)) or  ((c13!=1) and (c13!=2) and (c13!=3) and (c13!=4)) or ((c14!=1) and (c14!=2) and (c14!=3) and (c14!=4)));
	{cout<<" numero introducido incorrecto"<<endl;}
 
	if ( ((d11!=1) and (d11!=2) and (d11!=3) and (d11!=4))  or  ((d12!=1) and (d12!=2) and (d12!=3) and (d12!=4)) or  ((d13!=1) and (d13!=2) and (d13!=3) and (d13!=4)) or ((d14!=1) and (d14!=2) and (d14!=3) and (d14!=4)));
	{cout<<" numero introducido incorrecto"<<endl;}
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 vangodp

Problemas condicionales

Publicado por vangodp (287 intervenciones) el 22/05/2015 06:25:38
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
using namespace std;
 
int main () {
 
 
    int a, b, c, d, e, f, a11, a12, a13, a14, b11, b12, b13, b14, c11, c12, c13, c14, d11, d12, d13, d14;
    unsigned long long int x;
    cout << "introduzca la cadena" << endl;
    cin >> x;
 
 
 
    a = x / 100000000;
    b = x % 100000000;
    c = a / 10000;
    d = a % 10000;
    e = b / 10000;
    f = b % 10000;
    a11 = c / 1000;
    c = c % 1000;
    a12 = c / 100;
    c = c % 100;
    a13 = c / 10;
    a14 = c % 10;
    b11 = d / 1000;
    d = d % 1000;
    b12 = d / 100;
    d = d % 100;
    b13 = d / 10;
    b14 = d % 10;
    c11 = e / 1000;
    e = e % 1000;
    c12 = e / 100;
    e = e % 100;
    c13 = e / 10;
    c14 = e % 10;
    d11 = f / 1000;
    f = f % 1000;
    d12 = f / 100;
    f = f % 100;
    d13 = f / 10;
    d14 = f % 10;
 
 
    if (( ( a11 != 1 ) and ( a11 != 2 ) and ( a11 != 3 ) and ( a11 != 4 ) ) or
        ( ( a12 != 1 ) and ( a12 != 2 ) and ( a12 != 3 ) and ( a12 != 4 ) ) or
        ( ( a13 != 1 ) and ( a13 != 2 ) and ( a13 != 3 ) and ( a13 != 4 ) ) or
        ( ( a14 != 1 ) and ( a14 != 2 ) and ( a14 != 3 ) and ( a14 != 4 ) ) ){
        cout << " numero introducido incorrecto" << endl;
    }
 
 
    if (( ( b11 != 1 ) and ( b11 != 2 ) and ( b11 != 3 ) and ( b11 != 4 ) ) or
        ( ( b12 != 1 ) and ( b12 != 2 ) and ( b12 != 3 ) and ( b12 != 4 ) ) or
        ( ( b13 != 1 ) and ( b13 != 2 ) and ( b13 != 3 ) and ( b13 != 4 ) ) or
        ( ( b14 != 1 ) and ( b14 != 2 ) and ( b14 != 3 ) and ( b14 != 4 ) )) {
        cout << " numero introducido incorrecto" << endl;
    }
 
    if (( ( c11 != 1 ) and ( c11 != 2 ) and ( c11 != 3 ) and ( b11 != 4 ) ) or
        ( ( c12 != 1 ) and ( c12 != 2 ) and ( c12 != 3 ) and ( c12 != 4 ) ) or
        ( ( c13 != 1 ) and ( c13 != 2 ) and ( c13 != 3 ) and ( c13 != 4 ) ) or
        ( ( c14 != 1 ) and ( c14 != 2 ) and ( c14 != 3 ) and ( c14 != 4 ) ) ){
        cout << " numero introducido incorrecto" << endl;
    }
 
 
    if (( ( d11 != 1 ) and ( d11 != 2 ) and ( d11 != 3 ) and ( d11 != 4 ) ) or
        ( ( d12 != 1 ) and ( d12 != 2 ) and ( d12 != 3 ) and ( d12 != 4 ) ) or
        ( ( d13 != 1 ) and ( d13 != 2 ) and ( d13 != 3 ) and ( d13 != 4 ) ) or
        ( ( d14 != 1 ) and ( d14 != 2 ) and ( d14 != 3 ) and ( d14 != 4 ) )){
        cout << " numero introducido incorrecto" << endl;
    }
 
}
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 vangodp

Problemas condicionales

Publicado por vangodp (287 intervenciones) el 22/05/2015 07:15:56
además que es eso de tantos ifs y tantos % / ......

Busque algo más coherente XD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main () {
 
    long long int n = 9234567890123456;
    int i;
    long long int x;
 
 
    for (i = 0; i < 16; i++) {
        x = n % 10;
        n /= 10;
        if ( x<1 || x>4  ){
            cout << "fail\x07" << endl;
            break;
        }
    }
 
}
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 dotar

Problemas condicionales

Publicado por dotar (15 intervenciones) el 22/05/2015 14:34:44
Gracias, si pero por ahora lo estoy haciendo con puros condicionales
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 vangodp

Problemas condicionales

Publicado por vangodp (287 intervenciones) el 22/05/2015 15:09:04
y lo que te pase que es? Que vaya dentro de un bucle no sirve? XD
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 dotar

Problemas condicionales

Publicado por dotar (15 intervenciones) el 23/05/2015 20:45:27
Si yo quisiera mostrar en que fila y columna, imaginando un cuadro 4x4 si esta repetido un número, mostrar en que fila y columna esta y el número repetido, como lo haría? tengo la idea de un switch pero no se bien como plasmarla
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