Sponsored Content
Top Forums Programming Bug in "Word Counting" Program Post 302620039 by 47shailesh on Friday 6th of April 2012 09:19:13 PM
Old 04-06-2012
Your code is basically counting characters and not words; try this, I've not tested it, but should work
Code:
#include <stdio.h>
int main()
{
int ichar = 0;
int in_word = 1; 
// in_word = 0 *outside a word* in_word = 1 *inside a word*
int wc = 0;
while((ichar = getchar()) != EOF ) 
{
    if (( ichar != ' ' )||(ichar != '\n' )||(ichar !='\t'))
        {
        in_word = 1;
        }
    else if ((( ichar == ' ' )||(ichar == '\n' )||(ichar =='\t')) && ( in_word == 1 ))
        {
        in_word = 0;
        wc ++ ;
        }
}
printf ( "Total number of words %d\n" , wc);
return 0;
}


Last edited by 47shailesh; 04-06-2012 at 10:21 PM.. Reason: changed inword definition
 

8 More Discussions You Might Find Interesting

1. Programming

how could i make a program mixed with many "|", "<" and ">"

I have written following code to do: ls -l | wc -w, it works: but when there are not only a single "|", if there are more such as: ls -l | sort -r | sort | sort -r, This program does not work, i want to know how could i deal with it when there are more "|", another situation is that, if it mixes... (2 Replies)
Discussion started by: strugglingman
2 Replies

2. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

3. UNIX for Dummies Questions & Answers

Counting vowels in string. "Comparison pointer-integer".

I'm trying to write a programme which scans strings to find how many vowels they contain. I get an error saying that I'm trying to compare a pointer and an integer inif(*v == scanme){. How can I overcome this ? Also, the programme seems to scan only the first word of a string e.g.: if I type "abc... (1 Reply)
Discussion started by: fakuse
1 Replies

4. Cybersecurity

Tor Browser Bundle for Linux (2.2.35-8) "EVIL bug"

There is an EVIL bug in at least the Linux (2.2.35-8) Tor Browser Bundle start-tor-browser script. It will log things like domain names to a file in the root of the browser bundle. trac.torproject.org/projects/tor/ticket/5417 Ticket #5417 (new defect) RelativeLink.sh in Tor browser bundle... (0 Replies)
Discussion started by: madeinindia
0 Replies

5. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

6. Shell Programming and Scripting

Please identify "unexpected end of file" bug

This is a script I got off the web for transferring Safari's "reading list" to the Pocket app. I ran it in terminal with the command bash exportsafarireadinglist.sh and got syntax error: unexpected end of file. Thanks for any help! The code: #!/bin/bash # Script to export Safari's reading... (2 Replies)
Discussion started by: kdog126
2 Replies

7. Shell Programming and Scripting

How do i replace a word ending with "key" using awk excpet for one word?

echo {mbr_key,grp_key,dep_key,abc,xyz,aaa,ccc} | awk 'gsub(/^|abc,|$/,"") {print}' Required output {grp_key,xyz,aaa,ccc} (5 Replies)
Discussion started by: 100bees
5 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
getc(3s)																  getc(3s)

Name
       getc, getchar, fgetc, getw - get character or word from stream

Syntax
       #include <stdio.h>

       int getc(stream)
       FILE *stream;

       int getchar()

       int fgetc(stream)
       FILE *stream;

       int getw(stream)
       FILE *stream;

Description
       The function returns the next character from the named input stream.

       The function is identical to (stdin).

       The function behaves like but is a genuine function, not a macro.  It may be used to save object text.

       The  function returns the next word (in a 32-bit integer on a VAX-11 or MIPS machine) from the named input stream.  It returns the constant
       EOF upon end of file or error, but since that is a good integer value, feof and should be used to check the success of The assumes no  spe-
       cial alignment in the file.

Restrictions
       Because it is implemented as a macro, treats a stream argument with side effects incorrectly.  In particular, `getc(*f++);' doesn't work as
       expected.

Diagnostics
       These functions return the integer constant EOF at end of file or upon read error.

       A stop with message, `Reading bad file', means an attempt has been made to read from a stream that has not been opened for reading by

See Also
       fopen(3s), fread(3s), gets(3s), putc(3s), scanf(3s), ungetc(3s)

																	  getc(3s)
All times are GMT -4. The time now is 04:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy