Once you know how the data comes back, you then have to be able to parse/render it into a form you can use for matching - and possibly store it in memory
btw, I showed the c# api for that dictionary - 'better programming language' ? I don't know - there's this big thing about abstraction and using the right language/tool for the job - sometimes like this dictionary api, you may not find an api for your language - that doesn't stop you from having a mixed component approach - I think c# would also be ok for this project - it'll just take you longer to do 'this bit' in c++ since they don't supply an api - so you'd have to model the java or Objective-C one.
So, I'd start in an 'agile' frame of mind, small steps, refined, combined - I don't think the big issue here is getting the dictionary definitions, its the matching - so you may need to think about storing dictionary results in memory or some other appropriate form so you can develop an algorithm for matching and/or retrieving more dictionary entries - and also 'backtracking' if you come to a dead end
So on my quest, I downloaded WordWeb, to see if I could dissect it's files and source code to give me a hint or a database to use, but I couldn't find a way to accomplish this on Ubuntu. So my question is, could I somehow tell my program to use word web, and find the path between two words? I'm not asking you to write the algorithm for me, just wondering if there is a way to tell my program to run an executable file and use it, while the code is running. Thanks!
(Also I plan to use linux terminal as the interface)
yikes - I guess this is what you meant by posting on multiple forums which is cough, a no no ... but as it is, I assumed you were on windows - if I had to do it this way in windows, I would create a process with a hidden window perhaps to run Word Web - but on Ubuntu ? I guessing (depending on what language you are using) there's a way of doing it, but I'd have to 'JFGI' .. [J]ust [F]arken [G]oogle [I]t
Even on Ubuntu, using something like Perl would work with that dictionary I suggested - or any other language capable of sending a HTTP request to a server - I wouldn't use the 'start another program' method unless there was absolutely no other way
I'd do some test results on getting dictionary results, look at the results, print them out etc and do a lot of sketches on paper on how to match them
Keep a notebook - write down your ideas, what works, what hasn't, so you can go back a step if you need - or show mates/the teacher if you need help on 'thought processes'
you said you didn't know how to start ? you already have - you've looked at a task and started breaking it down into do-able steps - that's the way its done in the real world too (along with study, research, persererance ...)
The goal of the program would be to find and display the shortest possible path from one word to another.
There is a whole area of math devoted to the study of this.
Craig McRae wrote:
So I would classify myslef somewhere in-between beginner and average.
Excluding the above I would expect that you are going to get more out of this just by doing it yourself. There is a lot of 'ideas' to be explored, for example
- Where do you get the dictionary
- Can there be more than one dictionary
- Is it legal to use the dictionary
- How to access the dictionary
- How do you make sure it doesn't take 'too long'.