IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Метод пузырька.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


В чем ошибка?
Формирование их простых чисел здесь нет, пока не вставил, но код уже написал для проверки чисел. А вот упорядочить не получается.
Ваш фак читал, делал и с ним, все равно ерунда получаеться не выводит, как надо.
---
Дан массив Y, состоящий из М целых чисел (0<M<=10; -1000<y[i]<1000).Сформировать массив из элементов, являющихся простыми числами и упорядочить полученный массив по возрастанию методом “пузырька”.

var
y:array of extended;
i,j, m: integer;
Tmp : Double;
begin
writeln('Vvedite kolichestvo celix cisel v promegitke ot 1 do 10');
readln(m);
If (m<0)or(m>10)then
begin
writeln('Vvedite kolichestvo celix cisel v promegitke ot 1 do 10');
readln(m);
end;
SetLength(y, m);

writeln ('Zapolnenie massiva');
writeln ('Vedite chisla v promegytke ot -1000 do 1000');
for i:= 1 to m do
begin
readln(y[i]);
If (y[i]<-1000)or(y[i]>1000)then
begin
writeln('Vi vveli nevernoe chislo!!! Vedite chisla v promegytke ot -1000 do 1000.');
readln(y[i]);
end;
end;

i:=0;
while i<=m-1 do
begin
j:=0;
while j<=m-2-i do
begin
if Y[j]>Y[j+1] then
begin
Tmp := Y[j];
Y[j] := Y[j+1];
Y[j+1] := Tmp;

writeln('Otsortirovannii massiv metodom pyzirka');
for j:=1 to m do
begin
writeln(Y[j]:0:0);
end;
end;
Inc(j);
end;
Inc(i);
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
y:array of extended;

А размерность разве не нужна? smile.gif
Могу написать код программы с "пузырьком" если чем-то поможет.

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Цитата(Айра @ 28.12.2006 20:05) *

А размерность разве не нужна? smile.gif
Могу написать код программы с "пузырьком" если чем-то поможет.

А вот эта функция вроде задает ее
SetLength(y, m);
Если время есть свободное, то напишите, буду очень благодарен smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата(Айра @ 28.12.2006 19:05) *

А размерность разве не нужна? smile.gif


Не нужна no1.gif . Это называется "динамический массив" - массив, длина которого может меняться по ходу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Перенести тему в раздел Delphi?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Цитата(мисс_граффити @ 28.12.2006 20:30) *

Перенести тему в раздел Delphi?

Вам виднее. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
SetLength(y, m);

Просто мой компилятор ее не распознал.
Цитата
Не нужна . Это называется "динамический массив" - массив, длина которого может меняться по ходу.

Прошу прощения. unsure.gif Динамические массивы еще не изучала, а комп-ру та запись не понравилась.

А вот программа:

program Sort_puz;
uses wincrt;
const
count=20;
m:array[1..count] of byte=(9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);
{массив константный для удобства отслеживания всплывания "пузырьков"}
var
i,j,k,l: byte;
a: integer;
begin
for i:=1 to count do write(m[i],' '); writeln;
a:=0;
for i:=2 to count do {сортировка "пузырьков" методом по невозрастанию}
begin
for j:=count downto i do
begin
a:=a+1;
if m[j-1]<m[j] then {если элемент справа больше элемента слева,
то "вытеснить" его влево - пузырек "всплывает"}
begin
k:=m[j-1]; {обмен элементов значениями}
m[j-1]:=m[j];
m[j]:=k;
{печатаем текущее состояние массива после
каждой перестановки, для наглядности}
for l:=1 to count do write(' ',m[l]); writeln;
end;
end;
end;
end.

.

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Айра, спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата(pabota @ 28.12.2006 20:35) *

Айра, спасибо smile.gif


smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Айра, естественно. Эта процедура работала бы в Delphi. Ты же, наверное, пыталась откомпилировать чем-нибудь чисто паскалевским (Турбо Паскаль?), вот он и ругался.

В общем, переношу тему во избежание неясностей.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Эта процедура работала бы в Delphi. Ты же, наверное, пыталась откомпилировать чем-нибудь чисто паскалевским (Турбо Паскаль?), вот он и ругался.

Ты прям ясновидящая smile.gif
В Delphi он не возмущается, научиться бы им нормально пользоваться. unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.10.2024 6:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name