Informatică, întrebare adresată de marcelciobanu007, 8 ani în urmă

Se considera tabloul A[1..n]. Sa se scrie un program Pascal care determina de cite ori a alternat semnul numerelor. Exemplu: 1, 2, 4, 5, 9, 5, - 1, - 3, 5. In acest șir au fost 3 alterări de semne: +, - , + sau numere pozitive, negative, pozitive.


boiustef: de ce 3 alternări? în şir cred 2 au fost... (5,-1) şi (-3,5). Nu înţeleg eu bine?

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

nu am folosit tablou deoarece nu consider necesar, dar fac acum şi varianta cu tablou...

Explicație:

**************** varianta 1,  fără tablou *******************

program alernareSemne;

var n,a,b,i,alt:integer;

begin

 write('n='); read(n);

 writeln('introdu ',n,' numere intregi: ');

 read(a);

 alt:=0;

 for i:=2 to n do

   begin

     read(b);

     if (a*b<0) then alt:=alt+1;

     a:=b;

   end;

 writeln(alt, ' alternari de semne');

end.

******************** varianta 2, cu tablou *****************

program alernareSemne2;

var n,i,alt:integer;

   a:array[1..1000] of integer;

begin

 write('n='); read(n);

 writeln('introdu ',n,' numere intregi: ');

 for i:=1 to n do

     read(a[i]);

 alt:=0;

 for i:=1 to n-1 do

   begin

     if (a[i]*a[i+1]<0) then alt:=alt+1;

   end;

 writeln(alt, ' alternari de semne');

end.

Alte întrebări interesante