41 / 103
Oct 2012

If you click on compilation error it should give you more info. cin does not exist in the namespaces that you are using. Either use std::cin or at the top, after your includes,put:

using namespace std;

Please use code tags when posting code.

#include<iostream>
CODE: SELECT ALL
using namespace std;
int main()
{ int n;
while(1)
{ cin>>n;
if(n==42)
break;
cout<<"\n"<<n<<"\n";
}
return 0;
}

these are the errors it is showing after the correction
prog.cpp:2: error: function definition does not declare parameters
prog.cpp: In function 'int main()':
prog.cpp:7: error: 'cin' was not declared in this scope
prog.cpp:10: error: 'cout' was not declared in this scope

CODE: SELECT ALL

29 days later
4 months later

sir i am now working in dev c++ 4.9.9.2 and in which language i should summit my solution there is no option for this language

4 months later

include

include

int main()
{
int s;
for(;wink
{
cin>>s;
if (s!=42)
cout<else
break;
}
return 0;
}

The SPOJ judge shows compilation error and I'm not able to figure it out.

If you click on where it says compilation error it will show what the compilation error is.

1 year later

include

int main(void)
{
int n,c=0,i;
int a[c];
printf(" input \n");
while(1)
{
scanf("%d",&n);
a[c]=n;
if(a[c]==42)
break;
c++;
}
printf("OUTPUT \n");
for(i=0;i printf("%d \n",a[i]);
return 0;

i ran this code but its giving wrong answer .please help me to correct this code.I am not getting my mistake
}

include

int main(void)
{
int i[5],k;

for(k=0;k<=4;k++)
{
scanf("%d",&i[k]);
}

for(k=0;k<=4;k++){
if(i[k]!=42)
{printf("%d\n",i[k]);}
else break;	}return 0;

}

Hi Folks,

For the users that have most recently posted in this topic. Welcome!

Everything that you output will be considered for the answer, so this will cause WA.

cout << "enter the numbers" << endl;

Please use code tags when posting code (see the nice box around the code above?)

I see all of you assuming that there will be a certain number of inputs. djs1234 assumes that it will be less than or equal to 20. This is not true. The problem states that you should continue to take input until it reads 42, it does not say if there will be 5, 100, 10000000 numbers in the input.

while not done
  read input
  if number = 42 then done
  else print number
end while

include

using namespace std;
main()
{
int a[10], n=5, c;
cin >>n;
for(c=0;c {
cin >>a[c];
}
cout <<"the output is :- "<<"\n";
for(c=0;c {
if(a[c]!=42)
{
cout << a[c]<< '\n';
}
else
{
return 0;
}
};
return 0;
}

what the hell is wrong !!!
why it has not been accepted ... it is succesfully running in my compiler

Welcome! Please use code tags when posting code.

When you submit code to the judge, EVERYTHING that you output is considered for the answer. This line of code alone will fail your solution:

cout <<"the output is :- "<<"\n";

Once you have solved that you will then likely get a Runtime Error (SIGSEGV).
Nowhere in the problem statement does it say how many numbers there are in the input. There might be 2, there might be 100, there might be 1000000000. Because this is unknown you cannot store the input in memory. Also, the first number in the input is not the number of inputs to follow (n).

The information above makes this incorrect.

int a[10], n=5, c;
cin >>n;
for(c=0;c<n;c++)
{
cin >>a[c];
}

Please post back if you still have questions.

i have erased the cout <<"the output is:-" and cin>>n;
but still i m not understanding if the no of input integers have not been specified ... how the compiler will understand when he had to stop taking inputs
it is still showing wrong answer

The problem statement tells you to stop reading input after reading 42.

Please post your updated code.

while not done
   Read a number
   If number is 42 
      Done
   Else
      Print number

include

using namespace std;
main()
{
int a[10], n=5, c;
for(c=0;c {
cin >>a[c];
}
for(c=0;c {
if(a[c]!=42)
{
cout << a[c]<< '\n';
}
else
{
return 0;
}
};
return 0;
}

even if i made it to stop after reading 42 ... i'm unable to remove 'n' or the limit of for loop ... it needs an upper limit to be defined. for(c=0; ???;c++)

Or you could use:
for(scanf("%d",&c); c != 42; scanf("%d",&c))