The problem is not the filename. The problem is that you have prototyped display(int,int) but not defined it. That is why you are getting a missing symbol. The solution is either to define display(int,int), or more likely it's the prototype itself that's wrong and should be defined as void display (int ar,int n);
Another solution which removes the need for a prototype is to define display() above main(). Prototypes are really only needed (a) in header files for functions you wish to make public, or (b) where two functions call each other.