Sponsored Content
Full Discussion: Help With spell checking
Homework and Emergencies Homework & Coursework Questions Help With spell checking Post 302508174 by disaster on Saturday 26th of March 2011 10:10:20 AM
Old 03-26-2011
First of all, you make a common mistake: getchar() returns an int and not a char. This may cause errors in the != EOF condition
Ok, so here's my short approach I would be taken, no guarantuee that it works though Smilie

Code:
int c;
int iscorrect = 1;
int inword  = 0;
int lastvowel = 0; // if it is 1, the previously read char was a vowel
while((c = getchar()) != EOF) {
        if(delimitp((char) c)) {
                if(inword) { // end of word reached
                        (iscorrect == 1 && lastvowel == 1) ? printf(" correct word\n"); : printf(" wrong word\n"); // word had to be correct and the char in front of the delimit had to be vowel
                        inword = 0;
                        iscorrect = 1; //reset
                } else // two or more delimiters, ignore them
                        continue;
        }
        if(!letterp((char) c)) { //word is def wrong
                inword = 1;
                iscorrect = 0;
                putchar(c);
                continue;
        }
        if(!inword) { //first char of word, so we don't check adjacent consonsants here
                inword = 1;
                iscorrect = 1; //we accecpt consonants and vowels here. all other got kicked of in the if before - prob obsolute because we reset it at the delimiters
                if(vowelp((char) c))
                        lastvowel = 1;
                else
                        lastvowel = 0;
                putchat(c);
        } else {
                if(!vowelp((char) c) && lastvowel = 0) //adjacent consonants
                        iscorrect = 0;
                putchar(c);
        }
}

So, I hope this gets the job done Smilie Just a quick summary: First we check for delimiters. If it is the first delimiter and the last char was a vowel (and the word was correct to this point) it is correct. More limiters get ignored.
Then we check what else is there: If it is not a letter, the word is def wrong. But still we put it out.
If it is the first char of a word, we don't care it it is a vowel or consonant, both is ok. But we still need to check so we are able to check for adjacent consonants. This is done via lastvowel.
This User Gave Thanks to disaster For This Post:
 

6 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

Spell Check

Administrator/Moderators, I would like to put forth a request rather a suggestion in other words. How about the inclusion of 'SPELL CHECK' tool along with existing submit reply and preview post tools? I believe that would be very much helpful in understanding questions clearly deprived of... (2 Replies)
Discussion started by: matrixmadhan
2 Replies

2. UNIX for Advanced & Expert Users

spell

Hi, I found the following line in a shell script. $spell -a < $filename | \ grep -v '@(#)' | sed "s/\'//g" | \ awk '{ if (length($0) > 15 && length($2) > 2) print $2 }' | \ grep -vif $okaywords | \ grep ']' | grep -v ']' | sort -u | \ sed 's/^/ /' > $tempout can... (2 Replies)
Discussion started by: ravi raj kumar
2 Replies

3. UNIX for Dummies Questions & Answers

spell check

# cat wrong.txt thiis is going to be wrong words containing file # aspell list < wrong.txt thiis I want to check only one word and see the first suggestions ("this" in this case). something like... aspell list --one-word thiis --suggest (5 Replies)
Discussion started by: shantanuo
5 Replies

4. Shell Programming and Scripting

spell check program

hi, i need to write a spell check program in bash to find all possible spelling errors in a file or a number of files taken as input using usr/dict/words. whenever the program encounters a spelling error, it must state the line number at which the incorrect spelling has occured and... (1 Reply)
Discussion started by: kratos.
1 Replies

5. Shell Programming and Scripting

Spell Check

I have this assignment and I am not sure how to start it, I am new any help will be appreciated.... (BASH) Let us say a test is conducted to assess the typing speed for applicants. We need to count # of correctly spelled words and penalize for incorrectly spelled words. score = (# of... (1 Reply)
Discussion started by: shilling
1 Replies

6. Debian

Getting a better spell checker

Guys I am new to Linux in general and want to know what is the use of the following files-: /usr/share/dict/words /usr/share/dict/words.pre-dictionaries-common Are they used by the spell checker to find potential typos ? If so are there any better larger word lists out there ? I am sure... (2 Replies)
Discussion started by: sreyan32
2 Replies
DEBCONF-MERGETEMPLATE(1)					      Debconf						  DEBCONF-MERGETEMPLATE(1)

NAME
debconf-mergetemplate - merge together multiple debconf template files SYNOPSIS
debconf-mergetemplate [options] [templates.ll ...] templates DESCRIPTION
Note: This utility is deprecated. You should switch to using po-debconf's po2debconf program. This program is useful if you have multiple debconf templates files which you want to merge together into one big file. All the specified files will be read in, merged, and output to standard output. This can be especially useful if you are dealing with translated template files. In this case, you might have your main template file, plus several other files provided by the translators. These files will have translated fields in them, and maybe the translators left in the english versions of the fields they translated, for their reference. So, you want to merge together all the translated templates files with your main templates file. Any fields that are unique to the translated files need to be added in to the correct templates, but any fields they have in common should be superseded by the fields in the main file (which might be more up-to-date). This program handles that case properly, just list each of the translated templates files, and then your main templates file last. OPTIONS
--outdated Merge in even outdated translations. The default is to drop them with a warning message. --drop-old-templates If a translation has an entire template that is not in the master file (and thus is probably an old template), drop that entire template. SEE ALSO
debconf-getlang(1) AUTHOR
Joey Hess <joeyh@debian.org> 2012-09-10 DEBCONF-MERGETEMPLATE(1)
All times are GMT -4. The time now is 11:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy