A tip for you:
//{a,b,c,d,e,f,g}
int seg_numbers [10][7] = {{1,1,1,1,1,1,0}, //0
{0,1,1,0,0,0,0}, //1
{1,1,0,1,1,0,1}, //2
{1,1,1,1,0,0,1}, //3
{0,1,1,0,0,1,1}, //4
{1,0,1,1,0,1,1}, //5
{1,0,1,1,1,1,1}, //6
{1,1,1,0,0,0,0}, //7
{1,1,1,1,1,1,1}, //8
{1,1,1,0,0,1,1}};//9
This uses 140 bytes of precious ram memory. It only needs to use 10 bytes!
//abcdefg
byte seg_numbers [10] = {0b1111110, //0
0b0110000, //1
...
...
0b1110011};//9
To access the segment values, instead of "seg_numbers[d][s]" use "bitRead(seg_numbers[d], s)"