| FloRyN36 a întrebat:

Salut, recent am inceput sa rezolv probleme de informatica in c++ si vreau sa invat cat mai multe, dar vreau sa fac o problema cu fisiere insa nu stiu cum se face. problema spune asa: se dau n-1 numere naturale distincte de la 1 la n si sa aflu numarul care lipseste din sir.
Aceasta problema trebuie rezolvata cu fisiere. Are cineva vreo idee? Scuze daca am gresit categoria.

Răspuns Câştigător
| rolynight a răspuns:

Am eu.
O sa ai nevoie de doua fisiere, unul de intrare si unul de iesire.
Din fisier de intrare citesti cele n-1 numere, iar in fisierul de iesire scrii numarul care lipseste.
Ne putem gandi la ceva foarte simplu daca stim matematica.
Uite, suma numerelor(naturale) de la 1 pana la n este egala cu n(n+1)/2( suma lui gaus).
Deci suma numerelor din fisier este egala cu n(n+1)/2 - numarul care lipseste.
Deci numarul care lipseste este egal cu n(n+1)/2 - suma numerelor din fisier.
Cred ca te-am dus mai mult in ceata.
O alta varianta ar mai fi sa folosesti un vector de frecventa.

1 răspuns:
suntserios
| suntserios a răspuns:

Si ce treaba are fisierul? numerele sunt in fisier sau?