Witam
Bardzo proszę o pomoc w zadaniu... Raczkuję w tym języku i po wykonaniu mojego kodu zwraca mi błędy :(
Treść zadania
Korzystając z pętli FOR wypisać liczby pierwsze z zakresu od 0 do a, gdzie a-liczba naturalna podana z klawiatury.
Algorytm wzorowany na:
#include <iostream>
using namespace std;
int main() {
cout << "Podaj zakres: ";
int e; //Zakres
cin >>e;
cout << "W zakresie od 0 do "<< e <<" znalazlem nast. liczby pierwsze:\n" << endl;
int f=e/2;
bool l[e];
for(int i=0;i<e;i++) l[i]=1;
for(int i=2;i<f;i++) // sito
if(l[i]) for(int j=i+i;j<e;j+=i) l[j]=0;
// wypisanie liczb pierwszych od 1 do e
int count=0;
for(int i=1;i<e;i++)
{
if(l[i])
{
cout << i << "\t";
count++;
}
}
cout << "\n\nW sumie " << count << " liczb pierwszych" << endl;
system("pause");
return 0;
}
Moje zapytanie:
DECLARE
e NUMBER(5) := &arg1;
f NUMBER(5);
TYPE tablica IS TABLE OF BOOLEAN
INDEX BY BINARY_INTEGER;
l tablica;
BEGIN
DBMS_OUTPUT.PUT_LINE('Podaj a');
DBMS_OUTPUT.PUT_LINE(e);
f:=e/2;
for i in 0..e loop
l(i) := 1;
end loop;
for i in 2..f loop
IF (l(i) > 0) THEN
for j in (i+i)..e loop
l(j) := 0;
end loop;
END IF;
end loop;
for i in 1..e loop
IF (l(i) > 0) THEN
DBMS_OUTPUT.PUT_LINE(i || ' ');
END IF;
end loop;
END;
Błędy, errory:
Error report -
ORA-06550: linia 12, kolumna 10:
PLS-00382: wyrażenie jest niewłaściwego typu
ORA-06550: linia 12, kolumna 2:
PL/SQL: Statement ignored
ORA-06550: linia 16, kolumna 11:
PLS-00306: niepoprawna liczba lub typy argumentów w wywołaniu '>'
ORA-06550: linia 16, kolumna 2:
PL/SQL: Statement ignored
ORA-06550: linia 24, kolumna 13:
PLS-00306: niepoprawna liczba lub typy argumentów w wywołaniu '>'
ORA-06550: linia 24, kolumna 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: