Предмет: Информатика,
автор: max98frommks
60 балов
Напишите программу на c++, которая моделирует работу процессора. Процессор имеет 4 регист-ра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице:
Код операции Описание Пример Псевдокод
1 запись константы 128 R2:=8
2 копирование значения 203 R3:=R0
3 сложение 331 R1:=R1+R3
4 вычитание 431 R1:=R1-R3
Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.
maxpavlutenkof:
то есть ты хочешь сказать , что надо делать перегрузку операторов , я кнш все понимаю , но это не место и это не плата , за такие сложности . Максимум , я могу посоветовать тебе почитать о перегрузке операторов на с++
Ответы
Автор ответа:
2
Ответ:#include <bits/stdc++.h>
using namespace std;
int main() {
const int x = 3, y = 4;
int N[x], M[y] = { 0, 0, 0, 0 };
int r = 0;
do {
r = 0;
for (int q = 0; q < x; q++) {
N[q] = getchar() - 48;
if (N[q] == -38) q--;
if (N[q] == 0) r++;
}
switch (N[0]) {
case 1: M[N[1]] = N[2]; break;
case 2: M[N[2]] = M[N[1]]; break;
case 3: M[N[2]] = M[N[2]] + M[N[1]]; break;
case 4: M[N[2]] = M[N[2]] - M[N[1]]; break;
}
for (int e = 0; e < y; e++) {
cout << "R" << e << " = " << M[e] << "\n";
}
} while (r != x);
return 0;
}
Объяснение:
Похожие вопросы
Предмет: Химия,
автор: dimanikylin83
Предмет: Английский язык,
автор: gavrilcikanastasia4
Предмет: История,
автор: hala3128
Предмет: Математика,
автор: абрам6
Предмет: Биология,
автор: dianacorovyanskaya