Arduino array represent in proteus serial monitor

The problem is the sensor array elements do not represent its correct state in vertual terminal of proteus.
Can anybody tell me what is wrong with my project? Here I attach the proteus schematic screen shot as well.

int DSW11= 53;
int DSW12= 52;
int DSW13= 51;
int DSW14= 50;
int DSW15= 49;
int DSW16= 48;
int DSW17= 47;
int DSW18= 46;
int DSW21 = 15;
int DSW22 = 14;
int DSW23 = 2;
int DSW24 = 3;
int DSW25 = 4;
int DSW26 = 5;
int DSW27 = 6;
int DSW28 = 7;
int D1= 25;
int D2= 24;
int D3= 23;
int D4= 22;
int sensorValue46;
int sensorValue47;
int sensorValue48;
int sensorValue49;
int sensorValue50;
int sensorValue51;
int sensorValue52;
int sensorValue53;
int sensorValue7;
int sensorValue6;
int sensorValue5;
int sensorValue4;
int sensorValue3;
int sensorValue2;
int sensorValue14;
int sensorValue15;

int DSW1[] ={sensorValue46,sensorValue47,sensorValue48,sensorValue49,sensorValue50,sensorValue51,sensorValue52,sensorValue53};
int DSW2[] ={sensorValue7,sensorValue6,sensorValue5,sensorValue4,sensorValue3,sensorValue2,sensorValue14,sensorValue15};

 
bool result;
int waterlevel=0;
int i;

void setup() {
  // put your setup code here, to run once:
pinMode (15 , INPUT);
pinMode (14 , INPUT);
pinMode (2 , INPUT);
pinMode (3 , INPUT);
pinMode (4 , INPUT);
pinMode (5 , INPUT);
pinMode (6 , INPUT);
pinMode (7 , INPUT);
pinMode (53 , INPUT);
pinMode (52 , INPUT);
pinMode (51 , INPUT);
pinMode (50 , INPUT);
pinMode (49, INPUT);
pinMode (48 , INPUT);
pinMode (47 , INPUT);
pinMode (46 , INPUT);
pinMode (25, OUTPUT);
pinMode (24, OUTPUT);
pinMode (23, OUTPUT);
pinMode (22, OUTPUT);

Serial.begin (9600);

sensorValue46 = digitalRead (DSW18);
digitalWrite (25, HIGH); 

}

void loop() {
  // put your main code here, to run repeatedly:

 DSW1[0]= sensorValue46;
 DSW1[1]= sensorValue47;
 DSW1[2]= sensorValue48;
 DSW1[3]= sensorValue49;
 DSW1[4]= sensorValue50;
 DSW1[5]= sensorValue51;
 DSW1[6]= sensorValue52;
 DSW1[7]= sensorValue53;

 DSW2[0]= sensorValue7;
 DSW2[1]= sensorValue6;
 DSW2[2]= sensorValue5;
 DSW2[3]= sensorValue4;
 DSW2[4]= sensorValue3;
 DSW2[5]= sensorValue2;
 DSW2[6]= sensorValue14;
 DSW2[7]= sensorValue15;


 DipSwitch1IncRead ();
 DipSwitch2IncRead ();
 DipSwitch1DecRead ();
 DipSwitch2DecRead ();
}

void DipSwitch1IncRead (){
 
int X1 =waterlevel;
if(digitalRead (DSW28)==LOW){
  int X1 = digitalRead(DSW18);
  if (X1 == HIGH){
 Serial.println("X1");
    }
  }

if (digitalRead (DSW18)==HIGH && digitalRead (DSW28)==LOW){
  for (i=0; i<8; i++){
    if (digitalRead (DSW1[i])==HIGH){
      Serial.print ("DSW1[]={");
       for ( i=0; i<8; i++){
     Serial.print (DSW1[i]);
       }
  Serial.print ("}");
  Serial.println ("");
    }
  }  
}


if (digitalRead (DSW12)==HIGH){
  digitalWrite (24, HIGH);
  }
}

void DipSwitch2IncRead (){
  
 int X2 = waterlevel;
 if (digitalRead (DSW28)==HIGH){
 int X2 = digitalRead (DSW28);
 if (X2 == HIGH){
 Serial.println("X2");
 }
}

if (digitalRead (DSW28)==HIGH){
  for (i=0; i<8; i++){
    if (digitalRead (DSW2[i])==HIGH){
     Serial.print ("DSW2[]={");
       for ( i=0; i<8; i++){
     Serial.print (DSW2[i]);
       }
  Serial.print ("}");     
  Serial.println ("");
    }
  }
 }

 
if (digitalRead (DSW27)==HIGH){
  digitalWrite (25, LOW); 
  } 
 }


void DipSwitch2DecRead (){
  
int X3= waterlevel;
if (digitalRead(DSW21)==HIGH){
 int X3 = digitalRead (DSW21);
 if (X3 == LOW){
 Serial.println("X2");
 }
}

if (digitalRead (DSW21)==HIGH ){
  for (i=7; i>=0; i--){
  if (digitalRead (DSW2[i])==LOW){
    Serial.print ("DSW2[]={");
    for (i=7; i>=0; i--){
      Serial.print (DSW2[i]);
    }
    Serial.print ("}");
    Serial.println ("");
  }
 }
}


if (digitalRead (DSW27)==LOW) {
  digitalWrite (25, HIGH);
 }
}

void DipSwitch1DecRead (){

int X4 = waterlevel;
if (digitalRead(DSW11)==HIGH){
 int X4 = digitalRead (DSW11);
 if (X4 == LOW){
 Serial.println("X1");
 }
}

if (digitalRead (DSW11)== HIGH && digitalRead (DSW28)==LOW ){
  for (i=7; i>=0; i--){
    if (digitalRead (DSW1[i])==LOW){
      Serial.print ("DSW1[]={");
      for (i=7; i>=0; i--){
        Serial.print (DSW1[i]);
      }
      Serial.print("}");
      Serial.println ("");
    }
  }
 }

if (digitalRead (DSW12)==LOW){
    digitalWrite (24,LOW);
  }

}

You create lots of variables called sensorValueXX...

int sensorValue46;

They all start out as zero.

Then you change just one of them...

sensorValue46 = digitalRead (DSW18);

That happens only once, as your code is placed in setup. After that the value of sensorValue46 is also fixed at either 0 or 1.

Then you put those zeros (and just maybe one 1 if you are lucky) in various elements of your array every time through loop...

DSW1[0]= sensorValue46;

Nowhere else do you ever modify either....
a) Any of the sensorValueXX variables
b) Any of the array elements DSW, other than to stuff the (all or mainly) zero values from sensorValueXX into them again and again.

You seem very confused about arrays. If you have an array there is no need for a load of numbered individual variables sensorValueXX and all that stuffing you are doing at the start of loop. Just read the required value directly into the array...

Remove the numbered variables. Somewhere in your code write to DSW1 and DSW2... Presumably something like...

DSW1[i] = digitalRead(pinNumber);

Looks like you probably need an array of pinNumber mappings as well. Not sure.
Unfortunately you’ve got yourself so confused that I can actually see how you intended that to happen.

Also, this...

int X4 = waterlevel;

Is a variable declaration and an assignment in one go.
You have both declared a new variable called X4 and assigned it value of the other variable, waterlevel.

This...

if (digitalRead(DSW11)==HIGH){
 int X4 = digitalRead (DSW11);

Is declaration of another, completely separate variable, but with the exact same name as the previous one: X4
It “scope” (where it exists for) is only with the braces { } of the “if” in which it is defined.
Luckily you don’t seem to use the other X4 you declared (scope outside the if statement) anywhere.
But that does beg the question as to why you created it in the first place. If it is unused, it is pointless.

Some rules for beginners...
Do not make multiple declarations of variables with the same name. C syntax allows it, but no C programmer with any experience will ever do this in the same function or globally in theor entire program. It is considered:
a) poor style
b) very confusing to any human trying to read your code (hence see point a)
It’s the programming equivalent of calling both your children “Bob”. Two separate children, but no one ever knows which one you are talking about.

Anywhere, after the first time you declare a variable...

int someVariable;

Or perhaps declare and assign to it at the same time using the shorthand C syntax....

int someVariable = 1234;

And you later want to assign a different value to that same variable you MUST write...

someVariable = someotherVariableExpresionOrValue;

Which is JUST an assignment.

And NEVER...

int someVariable = someotherVariableExpresionOrValue;

That is a redeclaration (your second child and you’ve also called him Bob) and an assignment.