KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Джесс Либерти - Освой самостоятельно С++ за 21 день.

Джесс Либерти - Освой самостоятельно С++ за 21 день.

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "Джесс Либерти - Освой самостоятельно С++ за 21 день.". Жанр: Программирование издательство неизвестно, год неизвестен.
Назад 1 ... 166 167 168 169 170 Вперед
Перейти на страницу:

Полученный бит переноса добавляется к следуюшему значимому биту. Это можно реализовать либо итеративным проходом через каждый бит, либо использованием рекурсии.

#include <iostream.h>

unsigned int add( unsigned int lhs, unsigned lnt rhs )

{

   unsigned int result, carry;

   while ( 1 )

   {

      result = lhs ^ rhs;

      carry = lhs & rhs;

      if ( carry == 0 )

         break;

      lhs = carry << 1;

      rhs = result;

   };

   return result;

}

int main()

{

   unsigned long a, b;

   for (;;)

   {

      cout << "Enter two numbers. (0 0 to stop): ";

      cin << a << b:

      if (!a && !b)

         break;

      cout << a << " + " << b << " = " << add(a,b) << endl;

   }

   return 0;

}

В качестве альтернативного варианта эту проблему можно решить с помошью рекурсии:

#include <iostream.h>

unsigned int add( unsigned int lhs, unsigned int rhs )

{

   unsignod int carry = lhs & rhs;

   unsigned int result = lhs * rhs;

   if ( carry )

      return add( result, carry << 1 );

   else

      return result;

}

int main()

{

   unsigned long a, b;

   for (;;)

   {

      cout << "Enter two numbers. (0 0 to stop): **;

      cin << a << b;

      if (!a && !b)

         break;

      cout << a << " + " << b << " = " << add(a,b) << endl;

   }

   return 0;

}

#include <iostream.h>


int main()

{

   cout << "Hello World!n"

   return 0;

}


int main()

{

   unsigned short x;

   unsigned short у;

   unsigned short z;

   z = x * у;

   return 0;

}



int main()

{

   unsigned short Width;

   unsigned short Length;

   unsigned short Area;

   Area = Width * Length;

   return 0;

}

Ниже приводится синтаксис оператора if.

Форма 1:

if (условие)

   выражение;

следующее выражение;

Если условие возвращает true, то выполняется выражение, а за ним и следующее выражение. Если условие возвратит false, то выражение игнорируется, а программа переходит к выполнению следующего выражения.

Помните, что вместо выражения может использоваться целый блок, заключенный в фигурные скобки.

Форма 2:

if (условие)

   выражение1;

else

   выражение2;

следующее выражение;

Если условие возвращает значение true, выполняется выражение1, в противном случае выполняется выражение2. После этого выполняется следующее выражение.

Пример:

if (SomeValue < 10);

   cout << "SomeValue is less than 10";

else

   cout << "SomeValue is not less than 10!";

cout << "Done." << endl;

Назад 1 ... 166 167 168 169 170 Вперед
Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*