Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Problema banala Pascal  (Citit de 2292 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
GRazvan
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 32



Vezi Profilul
« : Iunie 08, 2011, 18:07:14 »

 Buna. Ma tot chinui cu o problema, dar nu pentru ca nu i-as sti algoritmul ci pentru ca imi da o eroare care nu stiu cum s-o interpretez. Am incercat multe feluri de algoritm dar aceeasi eroare. Problema este urmatoarea:

  Determinati numerele de patru cifre distincte divizibile la fiecare din cifrele care le compun. (Stiu, e banala).

 Un algoritm care sa nu se intinda prea mult prin (i div 10) mod 10 si tot asa este acesta:

program distinct;
var i,c:longint;s,t:byte;
begin
 for i := 1000 to 9999 do
  begin
  s := 0;
  c := i;
  if i mod 1111 <> 0 then
  repeat
   t := c mod 10;
   c := c div 10;
  if i mod t = 0 then s := s + 1;
  until c = 0;
  if s = 4 then writeln(i);
  end;
readln;
end.

 Eroarea este :  raised exception class 'External: SIGFPE'.
 
 Banuiesc ca este de la tipul variabilelor dar am incercat o gramada de combinatii => 0. Eroarea zice ca e pe linia :
 if i mod t = 0 then s := s + 1

 Multumesc
Memorat
Magnus
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #1 : Iunie 08, 2011, 18:15:25 »

Pentru i=1000 (de exemplu) prima valoare pe care o ia t este 0, iar tu nu verifici daca t este 0 si prin urmare ceri restul lui i la 0.
De aici vine eroarea
Memorat
GRazvan
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 32



Vezi Profilul
« Răspunde #2 : Iunie 08, 2011, 18:17:58 »

 Da! Intr-adevar. Multumesc, ma mai gandesc ...
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines