Please read this:-
How to get the best out of this forum
Because your post is breaking the rules about posting code.
I don't think you understand the shift out
shiftOut(INPin, OTPin, LSBFIRST, digit);
the variable digit is supposed to be a byte char or int type. You have attempted to use an array, and done that wrong anyway.
It might be that you meant to write
shiftOut(INPin, OTPin, LSBFIRST, digit[i]);
Maybe that is what you wrote?
But because you have not used code tags, the forum software has interpreted the i in square brackets as an instruction to switch into italics. That is why code tags are important.
int digit [10] {1,79,18,6,76,36,32,15,0,4};
Should be this if you want an array
int digit [] = {1,79,18,6,76,36,32,15,0,4};
And what are those numbers supposed to mean? They don't make any sense. They are not 7 segment patterns are they?
When posting code please say what it does ( you have done this by saying it displays 8 ) but you also need to say what you hoped it would do. This is not clear from your code because of the errors you have made.
P.S. A black wire over a black background ( the chip ) is not the easiest thing to follow.