infoarena

infoarena - concursuri, probleme, evaluator, articole => Teme => Subiect creat de: Adriana Maria din Martie 21, 2015, 19:44:05



Titlul: Complement fata de 9
Scris de: Adriana Maria din Martie 21, 2015, 19:44:05
Scrieti un subprogram care primeste prin intermediul parametrului n un nr nat si returneaza numarul obtinut prin inlocuirea fiecarei cifre a numarului n cu complementul sau fata de 9.

procedure compl(var n:integer);
var nr,p:integer; c:byte;
begin
 nr:=0; p:=1;
  while n<>0 do
   begin
    c:=n mod 10;
    c:=9-c;
    n:=n div 10;
    nr:=c*p+nr;
    p:=p*10;
   end;
  n:=nr;
end;

begin
 readln(n);
 compl(n);
 write(n);
end.

Primesc exitcode 201 pentru n=120445. Ma poate ajuta cineva?Multumesc anticipat.


Titlul: Răspuns: Complement fata de 9
Scris de: George Marcus din Martie 22, 2015, 13:27:53
Din cate imi amintesc, in Pascal tipul de date "integer" e pe 16 biti si numarul tau depaseste plaja de valori pe care o poate memora. Trebuie sa declari variabila "longint".


Titlul: Răspuns: Complement fata de 9
Scris de: FMI Savoiu Valentin-Marian din Martie 28, 2015, 12:28:01
Ca sa nu mor eu prost, daca ai citi n si returna 999....9-n, nu ar merge mai rapid?(atatea de 9 cate cife are n)


Titlul: Răspuns: Complement fata de 9
Scris de: George Marcus din Martie 28, 2015, 14:07:27
Trebuie sa construiesti acel numar 99..99, deci e cam acelasi lucru.