С++, 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 считается неправильно?

Спасибо

  • а работать - тоже на подсказках будешь? Не стоит благодарности...
  • в задании не указан приоритет операций.
    распиши все на бумажке - тогда и поймешь, что как "правильно"

    другими словами, я не понимаю, в фразе " сложить с произведением В и С, деленным по модулю 5. В и С уменьшить на 1. " B и C надо уменьшать ДО или ПОСЛЕ

Вас заинтересует