NWW w pascalu - FPC wypluwa błędy

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Swistakenator
Sędziwy Jeż
Sędziwy Jeż
Posty: 35
Rejestracja: 25 cze 2008, 14:42
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

NWW w pascalu - FPC wypluwa błędy

Post 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
Awatar użytkownika
MarioX
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 09 gru 2006, 22:28
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

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

Post autor: MarioX »

Kod: Zaznacz cały

a[l] := a[l] div l2;
Czytaj komunikaty, to nie boli.
Oprogramowanie jest jak sex, lepsze jeśli nie trzeba za nie płacić :p
Swistakenator
Sędziwy Jeż
Sędziwy Jeż
Posty: 35
Rejestracja: 25 cze 2008, 14:42
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

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

Post autor: Swistakenator »

MarioX pisze:

Kod: Zaznacz cały

a[l] := a[l] div l2;
Czytaj komunikaty, to nie boli.
Dziękuję za miłą odpowiedź.
Awatar użytkownika
MarioX
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 09 gru 2006, 22:28
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

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

Post 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
Oprogramowanie jest jak sex, lepsze jeśli nie trzeba za nie płacić :p
Swistakenator
Sędziwy Jeż
Sędziwy Jeż
Posty: 35
Rejestracja: 25 cze 2008, 14:42
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

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

Post 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.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości