Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы должно адекватно отражать суть решаемой задачи/проблемы.
Старый 10.05.2012, 05:10   #1
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию Вычисление решетом Эратосфена (Delphi)

Код:
program n_557;

{$APPTYPE CONSOLE}

const N = 1000;

var grid: Array [2..N] of Integer;

procedure Eratosphene;
var
	i, j: Integer;
	resultArray: Array of Integer;
begin
	for i := 2 to N do
		grid[i] := i;

	for i := 2 to N do
	begin
		if grid[i] <> 0 then
		begin
			for j := i to N by i do
				grid[j] := 0;
		end;
	end;
end;

procedure DoOutput
var i: Integer;
begin
	for i := 2 to N do
		if grid[i] <> 0 then
			writeln(i);
end;

begin
	Eratosphene;
	DoOutput;
end.
Как вообще в Делфи можно записать "по" т.е by?
Видите еще какие - нибудь ошибки?
Fatalita вне форума Ответить с цитированием
Старый 10.05.2012, 11:23   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Как вообще в Делфи можно записать "по" т.е by?

никак, кто-то скопипастил из бейсика.


> Видите еще какие - нибудь ошибки?

видим.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 10.05.2012 в 11:26.
veniside вне форума Ответить с цитированием
Старый 10.05.2012, 19:51   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Шаг цикла for всегда 1.
Поэтму либо использовать другой тип цикла:
Код:
j := i;
while j < N do begin
  grid[j] := 0;
  inc(j, i);
end;
Либо примерно так:
Код:
for j := 1 to N div i do
  grid[j*i] := 0;
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решето эратосфена Выхухольxxx Общие вопросы Delphi 1 06.06.2011 13:20
[C++] Решето эратосфена, где баг ? Silly Student Помощь студентам 3 20.04.2011 13:06
Решето Эратосфена cbuilderx Помощь студентам 1 25.10.2010 18:44
Delphi : Вычисление сумм D][mon Помощь студентам 1 29.09.2010 18:17