С++, 1 курс, лаба, никогда не кодил
Задача:
A – сложить с произведением В и С, деленным по модулю 5. В и С уменьшить на 1.
B - уменьшить на 8.
C - умножить на В, разделить на сумму А и С, С увеличить на 2.
D - выполнить поразрядное «и» 4-7 разрядов B, сдвинутых вправо на 2 разряда и 0-1 разрядов С, сдвинутых влево на 1 разряд.
Код:
#include
#pragma hdrstop
#include
static int A = 12, B = 8, C = 34, D = 123;
#pragma argsused
int main()
{ printf("\n\t\'input'\n\t A=%d, B = %d, C =%d, D=%d", A, B, C, D);
A = A + ((B--) + (C--))%5;
B-= 8;
C = C * B / (A + (C++) );
D = ((B&240) >> 2) & ((C&7) << 1);
printf("\n\t\t Result:\n\t A =%d, B = %d, C = 0%d, D = 0%d", A, B, C, D);
getch();
}
Вопросы: как сделать грамотно C и D, и почему A считается неправильно?
Спасибо