Помогите с сортировкой методом пузырька
Дан массив с (n) .Переписать в мас¬сив х ненулевые элементы массива с раз¬деленные на 5. Затем упорядочить методом «пузырька» по воз¬растанию новый массив.
программа даже не запускается, вот моё решение: program o;const n=10; var c:array[1..n] of real; x:array[1..n] of real; i,j,l,s:integer; f:boolean; t:real; begin randomize; for i:=1 to n do begin for i:=1 to n do c[i]:=random(100)-50; end; for i:=1 to n do for j:=1 to n do begin if c[i]<>0 then x[j]:=c[i]/5; end; for j:=1 to n do s:=0; begin if x[j]=x[j] then s:=s+1; end; writeln('s=',s); repeat f:=true; for j:=1 to n-1 do begin if x[j]<x[j+1] then begin t:=x[j]; x[j]:=x[j+1]; x[j+1]:=t; f:=false; for j:=1 to n do writeln('x[j]=',x[j]); end; end; until f=true; end. |
Может readln перед end. поставить? А то и выкидывает из проги как будто не запускалась вообще
|
не, толку от этого нету, чё-то в сортировке не то, я понять никак не могу(
|
Я вижу решение этой программы так:
Код:
const n=10; |
Алгоритм сортировки реализован неправильно, нужно поправить. Есть эталонный алгоритм, можно сравнить и найти разницу.
|
Можно использовать вот этот алгоритм:
Код:
for i:=1 to s-1 do |
ооооо, работает, спасибо!
|
Часовой пояс GMT +4, время: 20:11. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.