Strona 1 z 1

NWW w pascalu - FPC wypluwa błędy

: 04 gru 2008, 11:34
autor: Swistakenator
Nie mogę zrozumieć, o co chodzi FPC (Konkretnie to piszę w Geany i to on wypluwa - nie wiem czy to robota Geany czy FPC).

Starałem się napisać program liczący NWW n liczb. Na początku użytkownik wprowadza ilość liczb z których ma policzyć NWW, później pyta się wartość każdej liczby.
Liczb będzie max. 100 000. Skrypt jest chyba zrobiony dobrze - nie optymanie czy ekonomicznie, ale powienien zadziałać:

Program:

Kod: Zaznacz cały

program run;

var
ilosc:integer;
l:integer;
l2:integer;
nww:integer;
a:array[1..100000] of integer;
dzielniki:array[1..100000] of shortint;

BEGIN
	readln(ilosc);
	FOR l:=1 TO ilosc DO readln(a[l]);
	
	{NWW start}
	for l:=1 TO ilosc DO
	 Begin
	  for l2:=1 TO ilosc DO
	   Begin
	    while a[l] MOD l2 = 0 DO
	     Begin
	      a[l] := a[l] / l2;    {Linia w której jest błąd, znak 21 to znak zaznaczony na czerwono}
	      dzielniki[l2]:=1;
	     End;
	   End;
	 End;
	nww:=1;
	for l:=1 TO ilosc DO
	 Begin
	  if dzielniki[l]=1 THEN nww:=nww*l;
	 End;
	
	
	
	{NWW end}
END.
Błąd:
run1.pas(22,21) Error: Incompatible types: got "Extended" expected "SmallInt"

Jakby ktoś mógł mi wytłumaczyć o co chodzi temu FPC to byłbym wdzięczny - za jakiś szybszy sposób wyliczenia NWW w pascalu dla takiej tablicy z nieokreśloną ilością elementów też się nie pogniewam :D

Odp: NWW w pascalu - FPC wypluwa błędy

: 04 gru 2008, 15:29
autor: MarioX

Kod: Zaznacz cały

a[l] := a[l] div l2;
Czytaj komunikaty, to nie boli.

Odp: NWW w pascalu - FPC wypluwa błędy

: 04 gru 2008, 16:16
autor: Swistakenator
MarioX pisze:

Kod: Zaznacz cały

a[l] := a[l] div l2;
Czytaj komunikaty, to nie boli.
Dziękuję za miłą odpowiedź.

Odp: NWW w pascalu - FPC wypluwa błędy

: 04 gru 2008, 16:49
autor: MarioX
Swistakenator pisze:Dziękuję za miłą odpowiedź.
Oj chyba wyczuwam 'lekką' ironie :razz:
Ważniejsza od formy odpowiedzi jest chyba jej skuteczność, nie uważasz? :poc:

A tu masz jakiś inny algorytm do wyznaczania NWW n liczb:
http://forum.pcformat.pl/attachment.php?aid=17732

Odp: NWW w pascalu - FPC wypluwa błędy

: 05 gru 2008, 11:37
autor: Swistakenator
Działa, jesteś wielki, dwa dni googluje takiego schemaciku algorytmu (w jakimkolwiek języku).
Ale "to nie boli" nie było konieczne - po co będziesz sobie palce strugać no nie? A komunikat przeczytałem tylko nie wiedziałem o co mu chodzi - myślałem, że zły typ zmiennej l.