x-kom hosting

[Pascal]Sortowanie bąbelkowe

Los_Emilos
utworzono
utworzono (edytowane)

Oto mój program ale niestety mam w nim dwa błędy:
1. Sprawdza tablicę do której nie zostało nic przypisane (tak mi się przynajmniej wydaje)
2. W jakiś sposób miesza liczby zamiast je normalnie układać.
Oto program:
[code]program bąbelkowe;
uses crt;
var
a: array [1..1000] of integer;
b1,b2,f:integer;
c,d,e:word;
begin
clrscr;
randomize;
writeln('Podaj ilosc liczb do wylosowania');
readln(c);
for e:=1 to c do
begin
a[e]:=random(999)+1;
write(a[e],' ');
end;
a[c+1]:=1000;
writeln;
e:=0;
f:=0;
repeat
e:=e+1;
if a[e]>a[e+1] then
begin
b1:=a[e];
b2:=a[e+1];
a[e]:=b2;
a[e+1]:=b1;
end
else f:=f+1;

until c-1=f;
for e:=1 to c do
write(a[e],' ');
readln;
end.
[/code]

EDIT: Znalazłem już błąd. Jak ktoś będzie potrzebował ten program ma go niżej (jak ktoś znajdzie w nim błędy też będę wdzięczny)
[code]program bobelkowe;
uses crt;
var
a: array [1..1000] of integer;
b1,b2,c,d,e,f,g:integer;
begin
clrscr;
randomize;
writeln('Podaj ilosc liczb do wylosowania');
readln(c);
for e:=1 to c do
begin
a[e]:=random(999)+1;
write(a[e],' ');
end;
writeln;
repeat
e:=0;
f:=0;
g:=0;
repeat
e:=e+1;
if a[e]>a[e+1] then
begin
b1:=a[e];
b2:=a[e+1];
a[e]:=b2;
a[e+1]:=b1;
g:=g+1;
end;
f:=f+1;
until c-1=f;
until g=0;
for e:=1 to c do
write(a[e],' ');
readln;
end.[/code]

[color="#FF0000"]//1. Nazwy tematów muszą mówić dokładnie o czym jest temat, dodatkowo należy je poprzedzić tagiem mówiącym o jaki język nam chodzi: [C++] [PHP] itp.
//rafalluz[/color]

maniek099
komentarz
komentarz

Staraj się używać jak najmniej zmiennych, każda zachowana komórka pamięci jest cenna, moja wersja:
[code]Program sortowanie;
uses crt;
var i,j,pom:integer;
tab:array[1..5] of integer;
Begin
clrscr;
writeln('Podaj 5 liczb: ');
for i:=1 to 5 do
readln(tab[i]);
for i:=1 to 4 do
for j:=1 to 4 do
if tab[j]>tab[j+1] then
begin
pom:=tab[j];
tab[j]:=tab[j+1];
tab[j+1]:=pom;
end;
for i:=1 to 5 do
write(tab[i]);
readkey;
end.
[/code]

Wystarczy wstawić Twoją opcję z losowaniem liczb i będzie dobrze. Pozdrawiam ;)

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.