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  +


Цитата
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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


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

Сообщений в этой теме


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

 





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