CodeBlocks ignore to print a line!!

When i debug this code the debugger ignore line 97 and 99 and doesn't print it !? Why and How to fix it ??

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
 
#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

int calc(int *a,int (*matrix)[2])
{
    int res = 0;
    for(int i=0;i<sizeof(matrix);i++)
    {
        int x,y;
        int num;
        int num1;
        int temp;
        int index = 0;
        int index2 = 0;
        bool s1 = 0;
        bool s2 = 0;
        int mid = sizeof(a);
        int mid2 = sizeof(a);
        int j = 0;
        int point1[2];
        int point2[2];
        point1[0] = 0;
        point2[0] = 0;
        point1[1] = 0;
        point2[1] = 0;
        bool sign1 = 1;
        bool sign2 = 1;
         while(!(s1&&s2))
        {
            x = (index)+(((mid-index))/2);
            y = (index)+(((mid-index+1))/2);

            if(a[x]>=matrix[i][0]&&!s1)////////////////////////////////
            {
                num = x;
                sign1 = 0;
                if(mid==index)
                {
                    point1[0] = num;
                    point2[1] = -1;
                    s1 = !s1;
                }
                mid = num;
            }
            else if(!s1)
            {
                num = y;
                if(mid==index)
                {
                    point1[0] = num;
                    point1[1] = 1;
                    s1 = !s1;
                }
                index = num;
            }
                x = (index2)+(((mid2-index2))/2);
                y = (index2)+(((mid2-index2+1))/2);

            if(a[x]>=matrix[i][1]&&!s2)
            {
                num1 = x;
                if(mid2==index2)
                {
                    point2[0] = num1;
                    point2[1] = -1;
                    s2 = !s2;
                }
                mid2 = num1;
            }
            else if(!s2)
            {
                num1 = y;
                if(mid2==index2)
                {
                    point2[0] = num1;
                    point2[1] = 1;
                    s2 = !s2;
                }
                index2 = num1;
            }
        }
        x = point1[0];
        y = point2[0];
        if(point1[0]<point2[0])
        {

            if((point1[1]==1&&point2[1]==1)||(point1[1]==-1&&point2[1]==-1))
            {
                res = res + (point2[0]-point1[0]);
            }
            else if((point1[1]==-1&&point2[1]==1)||(point1[1]==1&&point2[1]==-1))
            {
                cout<<res<< endl;
                res = res + (point2[0]-point1[0]-1);//////////////
                cout<<res<< endl;
            }
        }
        else
        {
            if((point1[1]==1&&point2[1]==1)||(point1[1]==-1&&point2[1]==-1))
            {
                res += point1[0]-point2[0];
            }
            else if((point1[1]==-1&&point2[1]==1)||(point1[1]==1&&point2[1]==-1))
            {
                res += point1[0]-point2[0]-1;
            }
        }

    }
    return res;
}




int main()
{
   ...........
    return 0;
}
Last edited on
the debugger ignore line 97 and 99 and doesn't print it !?


1
2
3
4
5
6
7
8
9
10
 if((point1[1]==1&&point2[1]==1)||(point1[1]==-1&&point2[1]==-1))
            {
                res = res + (point2[0]-point1[0]);
            }
            else if((point1[1]==-1&&point2[1]==1)||(point1[1]==1&&point2[1]==-1))
            {
                cout<<res<< endl;
                res = res + (point2[0]-point1[0]-1);//////////////
                cout<<res<< endl;
            }

You see you have added a if-else condition...

if the if statement is true it will execute it and ignore the else....

How to fix it ??


That totally depends on the logic of code and what are you trying to implement...
Last edited on
but the debugger passed on line 98 and didn't print that in line 97 and 99 ?
did it pass through line 93?
Topic archived. No new replies allowed.