예제 #1
0
BigInt & BigInt::operator = (string s) {
	if (isdigit(s[0])) { // if not signed
		setNumber(s);
		sign = false; // +ve
	}
	else {
		setNumber(s.substr(1));
		sign = (s[0] == '-');
	}
	checkzero();
	return *this;
}
예제 #2
0
BigInt::BigInt(string s) { // "string" constructor
	if (isdigit(s[0])) { // if not signed
		setNumber(s);
		sign = false; // +ve
	}
	else {
		setNumber(s.substr(1));
		sign = (s[0] == '-');
	}
	checkzero();
	count++;
}
예제 #3
0
void main()
{
  clrscr();
  float num,den;
  CodeMatrix temp;
  cout<<"Enter window co-ordinates\nEnter xmin and xmax\n";
  cin>>xl>>xh;
  cout<<"Enter ymin and ymax\n";
  cin>>yl>>yh;
  cout<<"Enter x and y co-ordinates of first end-point of line 1\n";
  cin>>ax1>>ay1;
  cout<<"Enter x and y co-ordinates of second end-point of line 1\n";
  cin>>ax2>>ay2;
  initialize();
  display();
  delay(2000);
  cleardevice();
  num=ay2-ay1;
  den=ax2-ax1;
  m=num/den;
  again:

  code(ax1,ay1,a1);
  code(ax2,ay2,a2);
  if(checkzero(a1)==1&&checkzero(a2)==1)
    display();
  else    //(checkzero(a1)==-1&&checkzero(a2)==-1)
  {
   and(temp);
   if(checkzero(temp)==1)  //!=0 means line is not visible inside window
   {
    //intersection points
    newpoints(a1,ax1,ay1,1);
    newpoints(a2,ax2,ay2,2);
    goto again;
   }
   //line discard
  }
  getch();
}