 Coffee Room
Discuss anything here - everything that you wish to discuss with fellow engineers.
12914 Members
Join this group to post and comment. Kaustubh Katdare • Jun 15, 2006

# Try The 'C' Code !

Here comes a challenge for Computer Engineers !

int i, n = 20;
for (i = 0; i < n; i--)
{
printf("X");
}

By only changing or adding ONLY ONE character to the above code:

Find 3 ways to make the above code print X 20 times!

-The Big K-
p.s: This challenge will be open for all CEans untill someone cracks it. Do *not* expect an answer from me. sristi • Jun 15, 2006
1)
int i, n = 20;
for (i = 0; i < n; i++)
{
printf("X");
}

2)int i,n=20;
for(i=0;i++ {
print("X");
}

3)
int i, n = 20;
for (i = 0; ++i < =n; )
{
printf("X");
} Kaustubh Katdare • Jun 15, 2006
That was a nice attempt But you missed this -

By only changing or adding ONLY ONE character to the above code:
😉

-The Big K- Jerry • Jun 15, 2006
working on it

sristi
1)
int i, n = 20;
for (i = 0; i < n; i++)
{
printf("X");
}
yeh, you changed -- to ++ , that is you changed two characters. However you are allowed to change only one chracter from the code. Really interesting, I'm working on it !😉 crook • Jun 16, 2006
I'm not a C programmer but this is more of a logic problem. Should not take more time. Let me see what can I do about it.

crook Kaustubh Katdare • Jun 17, 2006
probably I should start giving out hints!

Cummont fellaz, do you really need them? -The Big K- crook • Jun 17, 2006
got it

i think i got it.

in the original code, make the following change

for (i = 0; i < n; n--)

it should work! now trying the remaining two methods 😁 crook • Jun 25, 2006
here comes the second way - 😁

int i, n = 20;
for (i = 0; -i < n; i--)
{
printf("X");
}
and the third 😁

int i, n = 20;
for (i = 0; i + n; i--)
{
printf("X");
} crook • Jun 25, 2006
New Challenge !

This is a simple C puzzle for you -

"Write a "Hello World" program in 'C' without using a semicolon."

Try it, its very simple.

CrooK Jerry • Jun 25, 2006
int i, n = 20;
for (i = 0; -i < n; i--)
{
printf("X");
}

will this work? 😒

I don't have a compiler to try this out. I have started working on crook's problem. Its been quite sometime since I letf coding 😔 pradypop • Jun 28, 2006
main(){if(printf("Hello world")){}}

This might print hello world. No semi-colons used. crook • Jun 28, 2006
yes, thats a correct solution! 😀 rajeshkumar.km • Aug 7, 2006
my guesss

😉
int i, n = -20;
for (i = 0; i < n; i--)
{
printf("X");
}

i think the above change ( minus sign before 20 in the line 'int i,n=20')will respond to your view correctly crook • Aug 8, 2006
rajeshkumar.km
😉
int i, n = -20;
for (i = 0; i < n; i--)
{
printf("X");
}

i think the above change ( minus sign before 20 in the line 'int i,n=20')will respond to your view correctly
😕 I'm afraid the logic won't work.

Croook devi prasad • Aug 10, 2006
ans:

first method:

int i, n = -20;
for (i = 0; i < n; i--)
{
printf("X");
}

second method :

int i, n = 20;
for (i = 0; i < -n; i--)
{
printf("X");
}

third method:

int i, n = 20;
for (i = 20; i < n; i--)
{
printf("X");
}

😁 Mahesh • Oct 7, 2006
third method:

int i, n = 20;
for (i = 20; i < n; i--)
{
printf("X");
}

How can this work? This is an infinite loop. Kaustubh Katdare • Oct 7, 2006
Mahesh
third method:

int i, n = 20;
for (i = 20; i < n; i--)
{
printf("X");
}

How can this work? This is an infinite loop.
` for (i = 20; i < n; i--)`
Good Catch, Mahesh 😀 . Devi Prasad might want to fix it.

-The Big K- bantini • Oct 10, 2006 pradypop • Oct 11, 2006
Mahesh
third method:

int i, n = 20;
for (i = 20; i < n; i--)
{
printf("X");
}

How can this work? This is an infinite loop.
I don't think there's an infinite loop in the code. Infact, statements inside loop are not executed even once.

n=20, i=20 at initilization and condition is i Mahesh • Oct 11, 2006
Still the program is wrong.Can you give correct solution? /* 1st Way: Change i in i-- by n*/
int i, n = 20;
for (i = 0; i < n; n--)
{
printf("X");
}

/* 2nd Way: Add - before i in i < n */
int i, n = 20;
for (i = 0; -i < n; i--)
{
printf("X");
}

/* 3rd Way: Change < in i < n by + */
int i, n = 20;
for (i = 0; i + n; i--)
{
printf("X");
} Prasad Ajinkya • Oct 19, 2006
This is decent enough, hope the 3 ways are as follows -

int i, n = 20;
for (i = 0; i < -n; i--)
{
printf("X");
}

int i, n = 20;
for (i = 40; i < n; i--)
{
printf("X");
}

int i, n = 20;
for (i = 0; i > n; i--)
{
printf("X");
}

I have indicated in red the change in character that I have made. ksrbhanu • Nov 3, 2006
Hi friends,

I have one method, i will try other two. mean while review this method

int i, n = 20;
for (i = 0; i < n; n--)
{
printf("X");
}

replacing the i in the decrement statement with n it works , this is one character change 😎 ksrbhanu • Nov 3, 2006
sory guys, i have n't checked the whole chain , pradeep has already posted this metho 😔 spirit • Nov 9, 2006
hello.....i m giving your answer n u have to tell thats right or not.....😎
this is your code........
int i, n = 20;
for (i = 0; i < n; i--)
{
printf("X");
}
1. instead of i-- in the loop,change it as n--.
2.in initialisation,n=20,change it as:n=-20. 