Sponsored Content
Top Forums Programming Simple C program to count word lengths Post 302983536 by Riker1204 on Wednesday 12th of October 2016 05:56:00 PM
Old 10-12-2016
Simple C program to count word lengths

So my program is not working and I keep changing it to figure out why. So I have two questions, can I do tracing similar to bash, and also what is wrong with this.

The idea is simple, I want to count "word" lengths, with the loose definition of word not being a space, tab, or newline. Here is what I wrote to test if it is counting words by outputting the number of 3 letter words, but it always gives 0.

Code:
#include <stdio.h>

main() {

     int c, i, state, wl;
     int maxlength[15];

     #define IN 1
     #define OUT 0

     wl = i = c = 0;
     state = OUT;
    
     for (i=0; i < 15; ++i)
          maxlength[i] = 0;

     while ((c = getchar()) != EOF) {
          if (c == ' ' || c == '\t' || c == '\n') {
               if (state == OUT)
                    ;
               else if (state == IN) {
                    state == OUT;
                    ++maxlength[wl];
                    wl = 0;
               }
          else { 
               ++wl;
               state = IN;
          }
          }
     }
     printf("Number of 3 letter words: %d\n", maxlength[3]); 
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How do I count # of char. in a word?

I havent done shell scripting in quite some time. I want to know how to count the number of characters in a word, specifically a parameter. Example: myscript hello I want "myscript" to return the number of charcaters in the parameter "hello". Any ideas? (9 Replies)
Discussion started by: xadamz23
9 Replies

2. UNIX for Dummies Questions & Answers

count word

hi, given a file i need to get the first line and secodn line and count each of the line whether the length of first line and second line is the same i don;t know how to get the length of the line...seems like use 'wc' cannot do it... please advice (1 Reply)
Discussion started by: ariuscy
1 Replies

3. Shell Programming and Scripting

specified word count

hi iam trying to do a specified word count on file called text i have a few ideas but don't get the result i want do any one have a idea please help i have this at the moment cat text echo "Please enter the word you are looking for:" read string echo "the word < $string > occurs in... (5 Replies)
Discussion started by: bhaviknp
5 Replies

4. UNIX for Dummies Questions & Answers

Word Count

Hi All, Please let me know how to get the count of a particular word in a file. Example. I am looking for count of word 'result' in a file abc.xml. Thanks, Shankar (10 Replies)
Discussion started by: s_chowhan
10 Replies

5. Fedora

word count wc

could someone explain this please. echo aaaa|wc -c 5 echo aaaa|wc -m 5 But I'd expect the count to be 4 Its SunOS 5.8 Thanks in Advance. (5 Replies)
Discussion started by: chaandana
5 Replies

6. Shell Programming and Scripting

Word count of lines ending with certain word

Hi all, I am trying to write a command that can help me count the number of lines in the /etc/passwd file ending in bash. I have read through other threads but am yet to find one indicating how to locate a specifc word at the end of a line. I know i will need to use the wc command but when i... (8 Replies)
Discussion started by: warlock129
8 Replies

7. UNIX for Advanced & Expert Users

Word count

Script that lists all words used in one or more files and displays their count (pattern /\W+/ to split the lines of the input file into words can b used).. It should display list in format word:count...gets Filename as an cmd line argument! eg: $perl test doc (where doc is d file we are going to... (4 Replies)
Discussion started by: aadi_uni
4 Replies

8. Shell Programming and Scripting

if, word count

Hi, I need to count the lines of a file stack.html and if the amount lines i want to do something. At this moment, I have if ; then ... This is not working. Any ideas? Thanks! (3 Replies)
Discussion started by: azertyazerty
3 Replies

9. Shell Programming and Scripting

Word Count error

I need to read a trigger file whose name can be: ABC!DEF@2014.txt or ABC!DEF@2014,2015.txt and then carry out functions on those inputs. Currently I am doing: YEAREXPORT { FILE= xyz.txt ls ABC* -l > ${FILE} if ; then log_err "Trigger File ABC* does not exist!" fi (4 Replies)
Discussion started by: rajiv_kool
4 Replies

10. UNIX for Beginners Questions & Answers

UNIX script to check word count of each word in file

I am trying to figure out to find word count of each word from my file sample file hi how are you hi are you ok sample out put hi 1 how 1 are 1 you 1 hi 1 are 1 you 1 ok 1 wc -l filename is not helping , i think we will have to split the lines and count and then print and also... (4 Replies)
Discussion started by: mirwasim
4 Replies
Locale::US(3pm) 					User Contributed Perl Documentation					   Locale::US(3pm)

NAME
Locale::US - two letter codes for state identification in the United States and vice versa. SYNOPSIS
use Locale::US; my $u = Locale::US->new; my $state = $u->{code2state}{$code}; my $code = $u->{state2code}{$state}; my @state = $u->all_state_names; my @code = $u->all_state_codes; ABSTRACT
Map from US two-letter codes to states and vice versa. DESCRIPTION
MAPPING $self->{code2state} This is a hashref which has two-letter state names as the key and the long name as the value. $self->{state2code} This is a hashref which has the long nameas the key and the two-letter state name as the value. DUMPING $self->all_state_names Returns an array (not arrayref) of all state names in alphabetical form $self->all_state_codes Returns an array (not arrayref) of all state codes in alphabetical form. KNOWN BUGS AND LIMITATIONS
o The state name is returned in "uc()" format. o neither hash is strict, though they should be. SEE ALSO
Locale::Country Locale::Country Abbreviations <http://www.usps.gov/ncsc/lookups/usps_abbreviations.htm> Online file with the USPS two-letter codes for the United States and its possessions. AUXILIARY CODE: lynx -dump http://www.usps.gov/ncsc/lookups/usps_abbreviations.htm > kruft.txt kruft2codes.pl COPYRIGHT INFO
Copyright (c) 2002 - $present Terrence Brannon. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. License: GPL, Artistic, available in the Debian Linux Distribution at /usr/share/common-licenses/{GPL,Artistic} AUTHOR
T. M. Brannon, <tbone@cpan.org> PATCHES Thanks to stevet AT ibrinc for a patch about second call to new failing. perl v5.12.4 2011-08-03 Locale::US(3pm)
All times are GMT -4. The time now is 06:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy