Hello all, this is my first post, so I'll start off by saying that I began programming about a month and a half ago, and being a "math person" it was mostly intuitive to me. So I would classify myslef somewhere in-between beginner and average.
Anyway, My English teacher brought up a "Game" where you pick two words. And using dictionary definitions of one word, you have to pick a word in the definition, go to it, find its definition, and so on and so forth until you finally reach the second word you picked.
For example: Pick the words Finesse and Aggregate
Using Dictionary.com (Just using the most convenient resource) the definition of Finesse is Extreme delicacy or subtlety in action, performance, skill, discrimination, taste.
So I go to extreme, and it is defined as Of a character or kind farthest removed from the ordinary or average: extreme measures.
So I go to Character, which is defined as The aggregate of features and traits that form the individual nature of some person or thing.
And Thus I have reached Aggregate!
My point in all this is that I would like to write a program do be able to play the game.
This could often take a long time, but I hope you see the point of the "program in my head." The goal of the program would be to find and display the shortest possible path from one word to another.
My problem is that I HAVE NO IDEA HOW TO START THIS HELP PLEASE OH GOD. Or at least that's how I feel. If anyone can help me in the slightest, it would be great! Also if you think there is a better programming language to write this in, feel free to suggest it!
I would probably try to find some open source online dictionary, that's designed with such applications in mind. It would not only need the words, but their definitions as well.
Then, I'd try to figure out a way to communicate with their server via WINSOCK, and find two random or user specified words.
If you don't want to do networking, I'm not sure if it's even a thing that exists, but maybe there's dictionary libraries (?)
All that would be left is to devise an algorithm that traverses the definitions until it finds the second word. I have no idea how one might optimize it to find the second word quicker - to make the "shortest possible path from one word to another".