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

NUMARȘEF
ENUNŢ:
Într-o clasă sunt N elevi. Diriginta clasei a hotărît să aleagă șeful clasei. În acest scop a pregătit bilețele de hîrtie de formă pătrată și a scris pe fiecare bilețel a cîte un număr din domeniul 1..N. Astfel pe toate bilețelele era scris a cîte un număr distinct. În mod secret diriginta a șters numărul de pe un bilețel. Toate bilețelele, inclusiv și cel fără număr, au fost împăturite, pentru a nu se vedea numerele de pe ele și au fost plasate într-un coș. Diriginta a propus elevilor să i-a din coș a cîte 1 bilețel. Elevul care a selectat bilețelul fără număr va deveni șeful clasei.
CERINŢĂ:
Determinați numărul care trebuia să fie pe bilețelul șefului clasei.
INTRARE: Fişierul text de intrare numarsef.in conţine pe prima linie numărul natural N. Pe următoarea linie va conține N-1 numere distincte din domeniul 1..N.
IEŞIRE: Fişierul text numarsef.out va conţine pe prima linie numărul care trebuia să fie pe bilețelul șefului clasei
DE EXEMPLU:
numarsef.in numarsef.out
7
4 7 3 1 6 5 2
RESTRICŢII:
1≤N≤40


Razzvy: ce limbaj?
ira0102: pascal
express: mai era o comanda la while n>0 do begin read(f,y); x: =x-y; n:=n-1; end;....acum sper sa fie corect

Răspunsuri la întrebare

Răspuns de express
1
Desi nu mai codez in Pascal de 4 ani...e a doua sursa pe care o fac in 5 ore. Sper sa-ti mearga pentru ca "am tradus-o din C"...nu am pascalul instalat.Succes!
program nrsef;
var f,g:text;
    x:longint;
   n,y:integer;
begin
assign(f,'numarsef.in'); reset(f);
assign(g,'numarsef.out'); rewrite(g);
readln(f,n);
x:=n;
x:=(x*(x+1))/2;
while n>0 do 
 begin
  read(f,y);
  x := x - y;
  n:=n - 1;
 end;
writeln(g,x);
end.


express: Am editat-o din nou...Sper sa fie bine acum.
Alte întrebări interesante