"Classical logic was abstracted from the mathematics of finite sets and their subsets …. Forgetful of this limited origin, one afterwards mistook that logic for something above and prior to all mathematics, and finally applied it, without justification, to the mathematics of infinite sets. This is the Fall and original sin of Cantor's set theory."
-- Hermann Weyl
1. A is not the empty set
2. A is not the set of all rational numbers
3. A is closed downwards, meaning if x is in A and y < x, then y is in A
4. A has no greatest element, meaning for all x in A, there is a y in A such that y > x.
And each Dedekind cut is in one-to-one correspondence with a real number. You can define the usual arithmetic operations on them, show that every rational number has a corresponding Dedekind cut (for any rational q, we have {x in Q | y < q } as the corresponding cut). I haven't seen a proof of the uncountability of Dedekind cuts using the diagonalization argument, but you can prove there is a one-to-one correspondence between Dedekind cuts and Cauchy sequences of rational numbers, which is another construction of the reals. And there is a fairly straightforward proof that those are uncountable using diagonalization.
But as you can see, you don't need any sort of repetition to do the construction, it's just a set of sets of rational numbers satisfying a few simple properties. For more information, check out https://en.wikipedia.org/wiki/Construction_of_the_real_numbe...