int a = 4;
int b = 5;
int c = 6;
int d = 7;
int e = 8;
int f = 9;
int g = 10;
const byte interruptPin = 2;
volatile byte state = LOW;
int i = 0;
int j = 0;
int digitPins[7] = {a,b,c,d,e,f,g};
int segmentPins[10][7] = {{0,0,0,0,0,0,1}, // 0
                         {1,0,0,1,1,1,1},  // 1
                         {0,0,1,0,0,1,0},  // 2
                         {0,0,0,0,1,1,0},  // 3
                         {1,0,0,1,1,0,0},  // 4
                         {0,1,0,0,1,0,0},  // 5
                         {0,1,0,0,0,0,0},  // 6
                         {0,0,0,1,1,1,1},  // 7
                         {0,0,0,0,0,0,0},  // 8
                         {0,0,0,0,1,0,0}}; // 9
void setup() {
  // put your setup code here, to run once:
for (int i = 4; i <= 10; i++)
{
  pinMode(i, OUTPUT);
}
pinMode(2, INPUT_PULLUP);
}
void loop() {
  // put your main code here, to run repeatedly:
for (int j = 0; j < 7; j++)
{
  digitalWrite(digitPins[j], segmentPins[i][j]);
}
if(digitalRead(2) == 0)
{
  while (digitalRead(2) == 0)
  {
 
  }
  delay(250);
   i++;
}
if (i == 10)
{
  i = 0;
}
}