#include <stdio.h>
int main(void) {
int i=0; // индекс текущей команды
int j=0; // индекс массива данных
int acc = 0; //аккумулятор
char command_mem[100] = ",~>~>~>~>~"; //память команд
int data_mem[10]={0};                // память данных
     
while (command_mem[i] != '\0') {
if (command_mem[i]==',') // считываем число в аккумулятор 
    scanf("%d", &acc);   
if (command_mem[i]=='+') // прибавляем число из data_mem
    acc=acc+data_mem[j]; // к аккумулятору
if (command_mem[i]=='~') // загружаем число из аккумулятора
    data_mem[j]=acc;     // в память данных  
if (command_mem[i]=='.') // выводим число из аккумулятора на экран  
 printf("Output: %d",acc);
if(command_mem[i]=='>')      //переход на следующий элемент данных
    j++;
if(command_mem[i]=='<')      //переход на предыдущий элемент данных
    j--;	
if(command_mem[i]=='?') {   // прыжок на метку !
    while(command_mem[i] != '!') 
        i++; 
    } 	
i++; //увеличиваем индекс текущей команды         
}
//переход на новую строку
printf("\n"); 
// выводим массив данных
for (int k = 0; k<10; k++)
   printf("%d ", data_mem[k]);
return 0;
} 