Informatică, întrebare adresată de martamarta34, 9 ani în urmă

Bună! Nu am reușit să fac un program:
Se citesc de la tastatură cele n elemente ale unui șir de nr întregi. Să se afișeze toate perechile de elemente ale șirului cu proprietatea ca ambele elemente ale perechii au aceeași sumă a cifrelor.
Eu am încercat ceva, ce se află în imagine, și nu merge. Nu știu ce am greșit :( . Aștept măcar o sugestie.

Anexe:

artur99: În primul rând, trebuie să-ți faci o regulă bună de așezat codul și acoladele. :)) E greu de interpretat și înțeles așa ceva, și mai ales de identificat erorile. :))
artur99: 1. Trebuie să setezi si = 0 înainte de fiecare calcul. Pentru că.. La primul calcul, el va fi 0, dar la următorul, el va fi cât a rămas dinainte.
artur99: 2. Ai pus acolo un if, să nu cumva să ajungi chiar la același element, însă nu ai pus acoladele aferente if-ului. Când if-ul nu are acolade, se consideră doar prima instrucțiune că ar fi între acolade. Deci doar cpvj=v[j]; va fi instrucțiunea condiționată. Restul se vor rula și dacă i == j. Deci va trebui să pui acoladele la acel if.
artur99: Și la fel, și cu sj, să-l setezi 0 înainte de fiecare calcul (în for), nu doar o singură dată la început. În rest e ok
martamarta34: Mulțumesc

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
0
In primul rand,pune intrebarea: ce se intampla daca i si j sunt egale?In al doilea rand, si si sj nu sunt niciodata resetate la 0. Ar trebui sa le resetezi la fiecare bucla inainte sa le recalculezi
Optimizare: Ca sa nu pierzi timp, incearca cu for(int j = i + 1; j < n; j++), si urmatoarea conditie nu este necesara, deoarece, j nu va avea niciodata valoarea lui i.
Alte întrebări interesante