Show that there are only two types of subgroups in R , either Discrete or Dense? [duplicate]

Let $G$ be a subgroup of $(\mathbb R, +)$. If $G=\{0\}$, then clearly $G$ is discrete. If $G$ is nontrivial, then it contains a positive element. Either it has a minimal positive element or it doesn't.

Assume $G$ contains a minimal positive element $d$, and let $x\in G$. We can write $x=nd+r$, where $n$ is an integer and $r\in [0, d)$ (this is just division with remainder). Since $G$ is a subgroup, and $x, d\in G$, we get that $r=x-nd\in G$. Since $r<d$, which is supposed to be the minimal positive element, $r=0$, and so $x=nd$. Therefore, $G$ just consists of all integer multiples of $d$, and thus $G$ is discrete (just surround each point in a subset of $G$ with an open $d/2$ ball to get that every subset of $G$ is open).

Now assume $G$ contains no minimal positive element. First, let $y$ be the infimum of the set of positive elements of $G$. If $y>0$, then $y\notin G$, but we can find $y_1\in (y, 2y), y_2\in (y, y_1)$ such that $y_1, y_2\in G$. Then $y_1-y_2$ is positive, less than $y$, and still in $G$, contradicting $y$ being the infimum of the set of positive elements. Thus, $y=0$.

Now, let $x\in\mathbb R, \varepsilon>0$. By what we proved above, there exists an element $g\in G$ such that $g\in (0, \varepsilon)$. Then, we can again write $x=ng+\delta$, where $\delta\in [0, \varepsilon)$. Thus, $x$ is within $\varepsilon$ distance of some element of $G$. Since this is true for all $\varepsilon>0$, $x\in\overline{G}$, and since this is true for all $x$, $G$ is dense in $\mathbb R$.