fork(1) download
  1. #include <stdio.h>
  2. int main(void) {
  3. int i=0;
  4. int j=0;
  5. int acc = 0;
  6. int pzf = 1;
  7. int pz_prev=0;
  8.  
  9. char str_arr[100] = "}>>>^<+>~<<< ^>-<~{>>>^.";
  10.  
  11. int data_arr[10]={0};
  12. data_arr[0]=4;
  13. data_arr[1]=1;
  14. data_arr[2]=5;
  15.  
  16. while ( str_arr[i] != '\0') {
  17. if(str_arr[i]==',')
  18. scanf("%d", &acc);
  19. if(str_arr[i]=='+')
  20. acc=acc+data_arr[j];
  21. if(str_arr[i]=='-')
  22. acc=acc-data_arr[j];
  23. if(str_arr[i]=='>')
  24. j++;
  25. if(str_arr[i]=='<')
  26. j--;
  27. if(str_arr[i]=='~')
  28. data_arr[j]=acc;
  29. if(str_arr[i]=='^')
  30. acc=data_arr[j];
  31. if(str_arr[i]=='.') {
  32. printf("Output: %d",acc);
  33. printf(" ");
  34. };
  35. if (str_arr[i]=='}')
  36. pz_prev=1;
  37.  
  38. if(str_arr[i]=='?') {
  39. while(str_arr[i] != '!')
  40. i++;
  41. }
  42.  
  43. if (str_arr[i]=='{' && pzf==1 && pz_prev==0) {
  44. while(str_arr[i] != '}')
  45. i++;
  46. }
  47. if (str_arr[i]=='{' && pzf==1 && pz_prev==1) {
  48. while(str_arr[i] != '}')
  49. i--;
  50. }
  51. if(acc>=0){
  52. pzf=1;}
  53. else {
  54. pzf=0;}
  55.  
  56. //printf("i=%d",i);printf(" ");
  57. i++;
  58. }
  59. printf("\n");
  60. for (int k = 0; k<10; k++)
  61. printf("%d ", data_arr[k]);
  62. return 0;
  63. }
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
Output: 25 
-1 1 5 25 0 0 0 0 0 0