Fatti:
A.
A._ SA è proprietaria del fondo part. n. 1094 di X._, situato all'intersezione tra via Y._ e via Z._. Il terreno, su cui sorgono tre costruzioni, è in pendio ed è inserito nella zona residenziale R5 del piano regolatore comunale, che prevede un'altezza massima di 16.70 m.
B.
Il 4 febbraio 2012 A._ SA ha presentato al Municipio di X._ una domanda di costruzione per demolire gli edifici esistenti e realizzare un nuovo stabile residenziale, costituito da due corpi contigui, uno di cinque piani lungo via Z._ sovrastante un altro di tre piani, parallelo a via Y._, tra loro collegati in modo da formare un angolo acuto (di 52° circa).
C.
Alla domanda si sono opposti B._ e la C._ SA, proprietari di un fondo confinante, rispettivamente di una particella immediatamente vicina a quella dedotta in edificazione. Il 22 maggio 2012 i Servizi generali del Dipartimento del territorio hanno emanato un preavviso favorevole al progetto, sottoponendolo a una serie di condizioni. L'istante lo ha in seguito modificato con varianti del 24 luglio 2012 e del 28 settembre 2012, presentando il 12 dicembre 2012 al Municipio dei piani riportanti la seconda variante.
D.
Il 15 gennaio 2013 il Municipio ha rilasciato la licenza edilizia secondo le modifiche di cui alle varianti inoltrate nel luglio e nel settembre del 2012, subordinandola a una serie di condizioni. L'Esecutivo comunale ha nel contempo respinto le opposizioni dei vicini. Dopo una serie di atti che non occorre qui evocare, con un'unica decisione del 15 dicembre 2015 il Consiglio di Stato ha respinto i ricorsi degli opponenti contro la risoluzione municipale, confermandola.
E.
Con un'unica sentenza del 6 luglio 2017, il Tribunale cantonale amministrativo ha accolto due distinti ricorsi presentati dagli opponenti contro la decisione governativa, annullandola. La Corte cantonale ha pure annullato la licenza edilizia rilasciata dal Municipio. Ha rilevato che l'ingombro verticale complessivo dello stabile progettato, superiore ai 20 m, oltrepassava l'altezza massima prevista per la zona di situazione.
F.
A._ SA impugna questa sentenza con un ricorso in materia di diritto pubblico dell'11 settembre 2017 al Tribunale federale, chiedendo di annullarla e di rinviare gli atti alla Corte cantonale per pronunciarsi sulle censure rimanenti. La ricorrente fa valere l'applicazione arbitraria del diritto cantonale in materia di altezza degli edifici.
G.
La Corte cantonale contesta le tesi ricorsuali, confermandosi nel suo giudizio. Il Consiglio di Stato e l'Ufficio delle domande di costruzione del Dipartimento del territorio si rimettono al giudizio del Tribunale federale. Anche il Municipio di X._, pur riconfermandosi nella decisione di rilasciare la licenza edilizia, si rimette al giudizio di questa Corte. La C._ SA postula la reiezione del ricorso. B._ chiede di respingerlo nella misura della sua ammissibilità.
Con osservazioni del 12 dicembre 2017 la ricorrente si è confermata nelle sue conclusioni.

Diritto:
1.
Presentato tempestivamente contro una decisione finale dell'ultima istanza cantonale, che ha negato il rilascio della licenza edilizia, il ricorso in materia di diritto pubblico è di massima ammissibile sotto il profilo degli art. 82 lett. a, art. 86 cpv. 1 lett. d, art. 90 e art. 100 cpv. 1 LTF (quest'ultimo in relazione con l'<ref-law>). La ricorrente, proprietaria del fondo dedotto in edificazione, è legittimata giusta l'<ref-law> ad aggravarsi in questa sede contro il giudizio della Corte cantonale.
2.
2.1. La ricorrente fa valere l'applicazione arbitraria dell'art. 40 cpv. 2 della legge edilizia cantonale, del 13 marzo 1991 (LE). Contesta il metodo di misurazione della rientranza tra i due corpi dell'edificio, la quale, a suo dire, dovrebbe essere misurata in funzione della proiezione della facciata nord-est del blocco inferiore sulla facciata est di quello sovrastante. Secondo tale modalità, l'arretramento tra i due corpi sarebbe di 12 m e non di 9.50 m come stabilito dalla Corte cantonale, sicché le altezze delle rispettive facciate rivolte a valle non dovrebbero essere cumulate, ma considerate singolarmente, e rispetterebbero pertanto il limite massimo previsto dalle norme di attuazione del piano regolatore comunale per la zona residenziale R5.
2.2. L'arbitrio, vietato dall'<ref-law>, è ravvisabile quando la decisione impugnata risulta manifestamente insostenibile, in contraddizione palese con la situazione effettiva, gravemente lesiva di una norma o di un chiaro principio giuridico, o in contrasto intollerabile con il sentimento di giustizia e di equità. La decisione deve inoltre essere arbitraria nel suo risultato e non solo nella sua motivazione. Non risulta per contro arbitrio dal semplice fatto che anche un'altra soluzione potrebbe entrare in linea di conto o sarebbe addirittura preferibile (<ref-ruling> consid. 4.1; <ref-ruling> consid. 7.1; <ref-ruling> consid. 2.4 e rinvii).
2.3. Giusta l'art. 40 LE, l'altezza di un edificio è misurata dal terreno sistemato al punto più alto del filo superiore del cornicione di gronda o del parapetto (cpv. 1). Per edifici contigui l'altezza è misurata per ogni singolo edificio; analogamente si procede per costruzioni in pendio, articolate sulla verticale, a condizione che si verifichi tra i corpi situati a quote diverse una rientranza di almeno 12 metri (cpv. 2).
In concreto, è incontestato che il terreno dedotto in edificazione è situato in pendio, che i due corpi sono situati a quote diverse, tra loro congiunti e arretrati, sicché l'opera costituisce una costruzione a gradoni alla quale, per la misurazione dell'altezza, è di principio applicabile l'art. 40 cpv. 2 LE. Litigiosa è esclusivamente la questione del metodo di misurare la rientranza tra il corpo a valle e quello a monte. Al riguardo, la Corte cantonale ha rilevato ch'essa deve essere determinata secondo le regole sulla misurazione delle distanze, segnatamente sulla base dell'art. 41 cpv. 1 del regolamento di applicazione della legge edilizia, del 9 dicembre 1992 (RLE). Questa disposizione prevede che la distanza è misurata nel punto in cui l'edificio o l'impianto più si avvicina al confine, dall'estremità dei corpi sporgenti, escluse le gronde e i balconi che hanno una sporgenza fino a 1.10 m e non occupano più di un terzo della lunghezza della facciata.
I giudici cantonali hanno precisato che, ai fini della misurazione dell'arretramento tra i due blocchi, è di conseguenza determinante il punto in cui la facciata rivolta verso valle del blocco inferiore maggiormente si avvicina all'estremità dei corpi sporgenti del blocco sovrastante. Nella fattispecie hanno quindi preso come punti di riferimento per la misura della rientranza le terrazze ai livelli superiori del blocco a monte (trattandosi di corpi sporgenti verso valle che occupano più di un terzo della facciata) e la facciata nord-est del blocco sottostante, come peraltro riconosciuto dalle parti. La precedente istanza ha poi rilevato che la minore distanza tra i due corpi corrisponde alla retta che congiunge l'angolo nord-est del blocco inferiore (che costituisce il punto vicino al blocco sovrastante) con la facciata est del blocco superiore formando un angolo retto. Ha quindi disatteso il metodo di misurazione prospettato dalla ricorrente, fondato su una distanza obliqua, misurata parallelamente alla facciata nord del blocco sottostante. Ha rilevato che tale modalità non rispetta il modo di misurare le distanze e condurrebbe a risultati insostenibili, ove si immagini di ridurre progressivamente l'angolo tra i due blocchi (in concreto di 52°) mantenendo inalterata la lunghezza della facciata interna del blocco inferiore (di 12 m). In simile ipotesi, la distanza che separa i due volumi tenderebbe a ridursi fino quasi ad azzerarsi, ma l'altezza del corpo sovrastante non verrebbe riportata su quella del blocco a valle nonostante la loro sostanziale sovrapposizione. Ciò avrebbe come conseguenza che gli edifici formanti un angolo acuto sarebbero privilegiati rispetto a quelli ad angolo retto, circostanza che contrasterebbe con lo scopo dell'art. 40 cpv. 2 LE.
La Corte cantonale ha quindi concluso che nel caso in esame la rientranza tra i due corpi misura 9.50 m (e non 12 m come prospettato dalla ricorrente), sicché le altezze verso valle dei due corpi dell'edificio devono essere sommate.
2.4. La ricorrente ribadisce il metodo di misurazione da lei prospettato in sede cantonale, adducendo ch'esso si presterebbe a risolvere tutte le possibili conformazioni di una costruzione a gradoni, in particolare anche quella in cui i due corpi siano disposti in modo da formare un angolo maggiore di 90° (angolo ottuso). Adduce che in una simile ipotesi, il metodo di misurare la rientranza adottato dalla Corte cantonale non potrebbe essere applicato e escluderebbe la possibilità di sommare le altezze delle facciate dei gradoni, indipendentemente dalla lunghezza effettiva del corpo inferiore a valle. Con le sue argomentazioni, la ricorrente si limita a prospettare una sua diversa interpretazione dell'art. 40 cpv. 2 LE, senza tuttavia dimostrare l'arbitrarietà di quella ritenuta dalla Corte cantonale. Premesso che il Tribunale federale deve statuire su questioni concrete e non su esempi teorici, il semplice fatto che anche la soluzione prospettata dalla ricorrente può eventualmente essere sostenibile non basta a fondare l'arbitrio di quella impugnata (<ref-ruling> consid. 1.2; sentenza 1C_472/2008 del 29 gennaio 2009 consid. 2.3, in: RtiD II-2009 pag. 87 segg.). La ricorrente disattende inoltre che i giudici cantonali hanno accertato la misura della rientranza sulla base dell'art. 41 cpv. 1 RLE, relativa al modo di misurare le distanze, e applicabile anche alla determinazione degli arretramenti dei blocchi nelle costruzioni a gradoni (cfr. MARCO LUCCHINI, Compendio giuridico per l'edilizia, 2aed., 2015, pag. 206). Come visto, questa disposizione prevede che la distanza è misurata nel punto in cui l'edificio o l'impianto più si avvicina al confine, dall'estremità dei corpi sporgenti, escluse le gronde e i balconi che hanno una sporgenza fino a 1.10 m e non occupano più di un terzo della lunghezza della facciata. La ricorrente non sostanzia un'applicazione arbitraria di questa norma alla fattispecie. La distanza obliqua da lei prospettata, dall'angolo nord-est del blocco inferiore parallelamente alla facciata nord di detto blocco fino alla sporgenza sulla facciata est del blocco superiore (12 m), non è quella più breve. Non congiunge il citato angolo nord-est del corpo a valle (che la stessa ricorrente considera come valido punto di riferimento) al punto più vicino del corpo sovrastante. Lo fa per contro la distanza (9.50 m) misurata dalla Corte cantonale in corrispondenza della linea retta che collega detto angolo con la facciata del blocco sovrastante formando con la stessa un angolo retto. In tali circostanze, la misurazione eseguita dai giudici cantonali non può oggettivamente essere considerata arbitraria. D'altra parte, la tesi della ricorrente secondo la quale nel caso in cui i due corpi formino un angolo maggiore di 90° la misura della loro rientranza sarebbe indeterminata e le loro altezze non potrebbero essere sommate, costituisce una mera asserzione di parte, non fondata sulla giurisprudenza cantonale e sostanzialmente confutata dalla Corte cantonale nella risposta al gravame.
2.5. La ricorrente ribadisce l'esistenza di uno spazio inedificato triangolare tra i due blocchi che osterebbe al metodo di misurazione adottato dai giudici cantonali. Adduce che la nozione di "rientranza" ai sensi dell'art. 40 cpv. 2 LE imporrebbe di tenere conto esclusivamente delle dimensioni volumetriche dei gradoni, negando di per sé la presa in considerazione di aree inedificate tra gli stessi. Ritiene poi determinante per valutare l'ingombro verticale dell'edificio, la percezione di un osservatore situato perpendicolarmente alla facciata a valle (nord-est) del gradone inferiore.
La Corte cantonale ha accertato che in concreto la superficie triangolare inedificata tra i due blocchi non è percepibile da un osservatore a valle dell'avancorpo. Questo accertamento non è censurato d'arbitrio con una motivazione conforme alle esigenze dell'<ref-law> ed è pertanto vincolante per il Tribunale federale (<ref-law>). Esso appare comunque conforme agli atti, ove si considerino la conformazione dei luoghi (in particolare la pendenza del terreno) e le caratteristiche dello stabile (segnatamente le sue dimensioni rilevanti e la misura dell'angolo formato dai due corpi). D'altra parte, l'ingombro verticale dell'edificio non si palesa soltanto ad un osservatore posto perpendicolarmente alla facciata a valle del gradone inferiore, ma può essere avvertito anche da un punto che offre una visuale più ampia, ritenuto che simili ingombri si ripercuotono sui fondi vicini e sul paesaggio circostante. Per quanto ammissibile, la censura si rivela perciò infondata.
2.6. Nelle esposte condizioni, l'accertamento di una rientranza tra il corpo a monte e quello a valle pari a 9.50 m non risulta manifestamente insostenibile. Considerato che questo arretramento è inferiore a 12 m, è quindi senza incorrere in un'applicazione arbitraria dell'art. 40 cpv. 2 LE che la Corte cantonale ha cumulato le altezze dei due blocchi.
3.
Ne segue che il ricorso deve essere respinto in quanto ammissibile. Le spese giudiziarie e le ripetibili seguono la soccombenza e sono pertanto poste a carico della ricorrente (art. 66 cpv. 1 e 68 cpv. 1 LTF).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Le spese giudiziarie di fr. 3'000.-- sono poste a carico della ricorrente, che rifonderà a B._ e alla C._ SA un'indennità di fr. 2'000.-- ciascuna a titolo di ripetibili della sede federale.
3.
Comunicazione ai patrocinatori delle parti, al Municipio di X._, all'Ufficio delle domande di costruzione del Dipartimento del territorio, al Consiglio di Stato e al Tribunale amministrativo del Cantone Ticino.