Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #109629
| Subject | Re: Printing like palindrome |
|---|---|
| Newsgroups | comp.lang.c |
| References | <5911a0f4$0$294$14726298@news.sunsite.dk> |
| From | bartc <bc@freeuk.com> |
| Message-ID | <cDpQA.18290$EF.7869@fx42.am4> (permalink) |
| Organization | virginmedia.com |
| Date | 2017-05-09 21:28 +0100 |
On 09/05/2017 11:59, arnuld wrote:
> Programs works fine, I just wanted suggestions for improvement:
>
>
> /* GlobalEdx interview Question, Real Life Practicial Code
> void printPalindrome(char c) ;
If it's for an interview, then I wouldn't call it a palindrome, because
it isn't.
A palindrome is a word or phrase (or sometimes number) which spells out
the same thing when the character sequence is reversed (usually ignoring
spacing, punctuation and capitalisation).
This just prints a letter sequence, then in reverse, avoiding
duplicating the letter in the middle.
> int getFirstLetter(char* p, char* pc);
>
>
> int main(int argc, char* argv[]){
> char c;
> if(2 != argc) {
Ugly. And the idiom is mainly intended for == not !=.
> printf("Please provide 1 argument\n");
"Please enter a letter A to Z"
> }
> else
> {
> if(!getFirstLetter(argv[1], &c)) printPalindrome(c);
> else printf("You did not enter a character. Enter uppercase
> character \n");
> }
> return 0;
> }
>
> /* If you get more than letter. Just pick up the first letter
> *
> */
> int getFirstLetter(char* p, char* pc) {
> char temp = *p;
>
> /* What if user puts an int or double, here we handle that ? */
> if( ((temp >= 'A') && (temp <= 'Z')) ) {
> *pc = temp;
> return 0;
> }
> else return 1;
> }
The program seems to work, but you spend a disproportionate amount of
code verifying the input, which is just a letter from A to Z. And it's
not verifying it too well as anything is accepted not just a single
letter. (It doesn't work for lower case either, but that is slightly
trickier.)
(Also, if you run it on Linux, and enter * or ?, it'll use the name of
the first matching file encountered. But you can't do much about that.)
--
bartc
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-09 10:59 +0000
Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-09 04:26 -0700
Re: Printing like palindrome Robert Wessel <robertwessel2@yahoo.com> - 2017-05-09 14:10 -0500
Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-09 12:33 -0700
Re: Printing like palindrome Richard Heathfield <rjh@cpax.org.uk> - 2017-05-09 23:05 +0100
Re: Printing like palindrome raltbos@xs4all.nl (Richard Bos) - 2017-05-10 10:25 +0000
Re: Printing like palindrome Richard Heathfield <rjh@cpax.org.uk> - 2017-05-10 11:44 +0100
Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-10 09:48 -0700
Re: Printing like palindrome Gareth Owen <gwowen@gmail.com> - 2017-05-10 18:59 +0100
Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:14 +0000
Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:44 +0000
Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:20 +0000
Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-12 08:49 -0700
Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-14 02:01 +0000
Re: Printing like palindrome mark.bluemel@gmail.com - 2017-05-09 07:13 -0700
Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-09 14:59 +0000
Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-09 08:27 -0700
Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-09 10:40 -0700
Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-09 14:38 +0000
Re: Printing like palindrome Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-09 22:48 +0100
Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-10 13:21 +0000
Re: Printing like palindrome Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-10 15:45 +0100
Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-10 10:26 -0700
Re: Printing like palindrome bartc <bc@freeuk.com> - 2017-05-09 21:28 +0100
Re: Printing like palindrome raltbos@xs4all.nl (Richard Bos) - 2017-05-10 10:27 +0000
Re: Printing like palindrome Chad <cdalten@gmail.com> - 2017-05-10 10:39 -0700
Re: Printing like palindrome bartc <bc@freeuk.com> - 2017-05-10 12:54 +0100
Printing like palindrome asetofsymbols@gmail.com - 2017-05-12 02:32 -0700
csiph-web