library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.1.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

A + B -> C

A=0.2
B=0.15
C=0
k1=0.1
dt=0.01
t=0

CC=c()
tt=c()
AA=c()
BB=c()
while(t<1000){
  AA=c(AA,A)
  BB=c(BB,B)
  CC=c(CC,C)
  tt=c(tt,t)
  
  dC= k1*A*B*dt
  dB= -k1*A*B*dt
  dA= -k1*A*B*dt
  
  C=C+dC
  t=t+dt
  A=A+dA
  B=B+dB
}

plot(tt,CC, type="l", lwd=2, xlim=c(0,500), ylim=c(0,0.2))
lines(tt,AA, type="l", col=6, lwd=2)
lines(tt,BB, type="l", col=2, lwd=2)

A+B-> C+S-> X

A=0.2
B=0.15
C=0
S=0.02
X=0
k1=0.1
k2=0.2
dt=0.01
t=0

CC=c()
tt=c()
AA=c()
BB=c()
SS=c()
XX=c()

while(t<1000){
  AA=c(AA,A)
  BB=c(BB,B)
  CC=c(CC,C)
  XX=c(XX,X)
  SS=c(SS,S)
  tt=c(tt,t)
  
  
  
  dC= k1*A*B*dt
  dB= -k1*A*B*dt
  dA= -k1*A*B*dt
  dS= dC - k2*C*S
  dX= -dC + k2*C*S
  
  C=C+dC
  t=t+dt
  A=A+dA
  B=B+dB
  S=S+dS
  X=X+dX
}

plot(tt,CC, type="l", lwd=2, xlim=c(0,500), ylim=c(0,0.2), col= "red")
lines(tt,AA, type="l", col=6, lwd=2)
lines(tt,BB, type="l", col=2, lwd=2)
lines(tt,SS, type="l", col="tan", lwd=2)
lines(tt,XX, type="l", col=5, lwd=2)
legend(450,0.2, legend=c("[C]","[A]","[B]","[S]","[X]"), col=c("red",6,2,"tan",5),lwd=3 , cex=0.5)