Runtime Error(SIGSEGV)

/Your program is to use the brute-force approach in order to find the Answer to Life,
the Universe, and Everything. More precisely… rewrite small numbers from input to output.
Stop processing input after reading in the number 42. All numbers at input are integers of one or two digits.
/

#include<iostream>
using namespace std;

int main()
{
	int num[10];
	int n,i=0,counter=0;
	bool right_num=true;

	while(right_num==true)
	{
		cin>>num[i];
		if(num[i]/100==0)
		{
			if(num[i]!=42) 
				right_num=true;
			else 
				right_num=false;
		}
		else
			break;
		counter++;
		i++;
	}

	for(i=0;i<counter-1;i++)
	{
		cout<<num[i]<<endl;
	}


	return 0;
}

When I compile I get error message Runtime Error(SIGSEGV)

Hello @vjozic,

It seems you are assuming there are only 10 numbers to be processed, as the size of your array called num is only of 10 elements.

This is false and the best approach to take here is to assume that you don’t know how many numbers you will read beforehand… It might be 10, it might be 1 million… Just, don’t assume any constrains unless they are directly specified on problem statement :slight_smile:

Good luck and best regards,

Bruno

//