C++ String Program HELP

Aug 12, 2012 at 6:52am
Hi I have very little knowledge of programming. Please help me with this program.
1) Sholey Program
In Ramghad there are 100 people including U
U are a food inspector.
Gabbar wants to kill all the people except one.
He tells samba to make the people of Ramghad to stand in a line one by one.
He tells samba to kill people in odd fashion
e.g if there are people say:
123456789.......then only odd will be killed
2468 .........will remain
now kill odd of them (2,6)
4 8 ......will remain now
then 4 will be killed since 4 is odd now
....survivor is 8
Now the problem is U should create a program to find the survivor for
N number instead of 100

#include<iostream.h>

int main()
{
int a[100];
int n=0;


cout<<" Enter The Size Of Array ";
cout<<" Enter The number ";
for(int i=0;i<n;i++)
{
cin>>a[i];
}

for (int j=n+1; j<n+1; j++)
{
a[n+1] = a[n+2];
a[100-1] = 0;
}
cout<<a;
cin.get();
return(0);
}
Aug 12, 2012 at 7:23am
what is exactly your question?

i found a small error:
1
2
3
4
5
for (int j=n+1; j<n+1; j++)
{
a[n+1] = a[n+2];
a[100-1] = 0;
}

the loop won't ever be ran because if j starts at the value of n+1, it can't be smaller then n+1
Aug 12, 2012 at 8:17am
Let the people in the beginning be 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17

After 1st kill: 2,4,6,8,10,12,14,16
After 2nd kill: 4,8,12,16
After 3rd kill: 8,16
After 4th kill: 16

The survivor will be the man in the 16th position

Notice that after nth kill, survivors are at a position which is a multiple of 2n.

Last survivor will be the person standing at the position number which is a multiple of the largest power of 2 (if there are 100 people, answer is 64th person)

You shouldn't have put the Babbar Singh story in the post, it would just confuse people.
Last edited on Aug 12, 2012 at 8:23am
Aug 12, 2012 at 5:43pm
char a[100];

Int is for integar.
Last edited on Aug 12, 2012 at 5:43pm
Topic archived. No new replies allowed.