Wysłany: 24-12-2005, 20:56 Algorytmy i algorytmika
Poniewaz jestem na bierzaca z algorytmami na studiach, to bede tu zapodował ciekawsze (czesciej ich implementacje). IMO bardzo wielu osobom bedzie przydatne, szczegolnie tym, ktorzy chca zdawac mature z informatyki.
Algorytmy sa zimplementowane w jezyku php (bo ten najlepiej znam).
A wiec na początek:
Sortowanie bąbelkowe:
Kod:
<?
$tab=array(4,12,54,1,43,122,23,2);
$n=count($tab);
for($i=0;$i<$n;$i++)
{
for($j=0;$j<$n;$j++)
{
if ($tab[$j]>$tab[$j+1])
{
$pierwsze=$tab[$j];
$tab[$j]=$tab[$j+1];
$tab[$j+1]=$pierwsze;
}
}
if ($i==$n-1)
{
for ($j=1;$j<$n+1;$j++)
{
echo $j." - ".$tab[$j]."<br>";
}
}
}
?>
w array'u (tablicy) są podane przykładowe liczby, mozna je zmieniac wedle woli.
Zliczanie elementów pod glowna przekątna macierzy:
Imię: Paweł
Dołączył: 18 Lut 2004 Posty: 3515 Skąd: Lublin
Wysłany: 25-12-2005, 19:01
Ale tu się to nikomu nie przyda. Na webhelpie na pewno docenią Twoją pracę. Zresztą ja też to doceniam, lubię jak ktoś coś zrobi samemu, szczególnie teraz, Internet jest zaśmiecony plagiatami, darmowymi designami, skryptami itp.
Ja tam to doceniam... może dlatego, ze ni w ząb nie jarze o co w tym biega (O_o)
PS. Jeśli dojde to ja bede zdawał mature z informatyki
_________________ \m/ _/....\_ \m/
_ \ _(O_o)_ / _
------------------
Najpierw był chaos... potem poszedłem do sklepu, kupiłem dwie nalewki, stworzyłem świat i było ok.
------------------
O widzisz, mi się to bardzo przyda. Jakbyś czasem miał quicksort, to zapodaj. W sumie to ja to muszę mieć w Pascalu, ale to już sobie przerobię.
Tu macie sortowanie przez wybieranie (Pascal):
Kod:
program Sortowanie_przez_wybieranie;
uses crt;
var tablica: array [0..20] of integer;
min, i, j, k, pozycja: integer;
begin
clrscr;
randomize;
writeln('Ciag losowy:');
writeln;
{podstawianie losowych liczb to tablicy}
for k:=0 to 20 do
begin
tablica[k]:=random(99);
write(tablica[k]:0,' ');
end;
writeln;
writeln;
writeln('Ciag posortowany:');
writeln;
{przesuwanie poczĄtku przedzialu, w ktorym wyznaczamy minimum}
for j:=0 to 20 do
begin
min:=tablica[j];
pozycja:=j;
{wyznaczanie minimum z danego przedzialu}
for i:=j to 20 do
begin
if tablica[i]<min then
begin
min:=tablica[i];
pozycja:=i;
end;
end;
{podstawianie minimum na odpowiednia pozycje}
tablica[pozycja]:=tablica[j];
tablica[j]:=min;
end;
{wypisywanie tabeli wynikowej}
for k:=0 to 20 do
write(tablica[k]:0,' ');
repeat until keypressed;
end.
No i dorwało się dwóch... Ile wy się tego uczycie? Może też bym zaczął , w końcu kiedyś mi się to bardzo przyda. Już mi baba mówiła, że będzie pascal, php, delphi i c++, a ja jestem całkowicie zielony jeśli o to chodzi. Jedyne co to grafika, a i nawet tego tak dobrze nie potrafię. Jesli mam tą maturę zdać to chyba już powinie nem zacząć, co?
_________________ \m/ _/....\_ \m/
_ \ _(O_o)_ / _
------------------
Najpierw był chaos... potem poszedłem do sklepu, kupiłem dwie nalewki, stworzyłem świat i było ok.
------------------
Zapewne będą jakieś podstawy. Jeżeli ma być tyle języków na raz, to na pewno. Algorytmy to już konkretne rozwiązania, które można zaimplementować praktycznie w każdym języku.
Zapewne będą jakieś podstawy. Jeżeli ma być tyle języków na raz, to na pewno. Algorytmy to już konkretne rozwiązania, które można zaimplementować praktycznie w każdym języku.
Zdążylem się zorientować...
_________________ \m/ _/....\_ \m/
_ \ _(O_o)_ / _
------------------
Najpierw był chaos... potem poszedłem do sklepu, kupiłem dwie nalewki, stworzyłem świat i było ok.
------------------
if ($j==$n-1)
{
for ($a=1;$a<$n+1;$a++)
{
echo $a." - ".$tab[$a]."<br>";
}
}
}
?>
[ Dodano: 19 Sty 2006 08:21 pm ]
w pon. mam kolokwium z algorytmów, jak zobaczyłem jakie miala inna grupa to sie odrobine wystraszyłem. Jsli jest ktos ciekaw to moge zapodac polecenia.
[ Dodano: 20 Sty 2006 10:06 pm ] Srednia arytmetyczna trzech najwiekszych liczb(dodatnich) z tablicy:
obliczanie liczb pierwszych ( w c++) to chyba z jakiegos kursu jest:
Cytat:
#include <iostream.h>
void main()
{
double x;
cout<<"Obliczanie liczb pierwszych"<<endl;
cout<<"Zakres liczb od 0 do ... (podaj liczbe)";
cin>>x;
for (int i=2;i<=x;i++)
{
for (int a=2;a<=i;a++)
{
if (i%a==0)
{
if (i==a)
{
cout << i<<";";
}
else
{
break;
}
}
}
}
}
i sortowanie bąbelkowe, takze w c++ (mojego autorstwa wiec raczej kiepskie ale dziala, wymaga zaimplementowania wstawiania zmiennych, w tym przypadku sa jakies przykladowe)
int a;
a=0;
while (a<9)
{
if (i_tab[0]>i_tab[1])
{
int tab0=i_tab[0];
i_tab[0]=i_tab[1];
i_tab[1]=tab0;
}
if (i_tab[1]>i_tab[2])
{
int tab0=i_tab[1];
i_tab[1]=i_tab[2];
i_tab[2]=tab0;
}
if (i_tab[2]>i_tab[3])
{
int tab0=i_tab[2];
i_tab[2]=i_tab[3];
i_tab[3]=tab0;
}
if (i_tab[3]>i_tab[4])
{
int tab0=i_tab[3];
i_tab[3]=i_tab[4];
i_tab[4]=tab0;
}
if (i_tab[4]>i_tab[5])
{
int tab0=i_tab[4];
i_tab[4]=i_tab[5];
i_tab[5]=tab0;
}
if (i_tab[5]>i_tab[6])
{
int tab0=i_tab[5];
i_tab[5]=i_tab[6];
i_tab[6]=tab0;
}
if (i_tab[6]>i_tab[7])
{
int tab0=i_tab[6];
i_tab[6]=i_tab[7];
i_tab[7]=tab0;
}
if (i_tab[7]>i_tab[8])
{
int tab0=i_tab[7];
i_tab[7]=i_tab[8];
i_tab[8]=tab0;
}
a++;
}
cout<<i_tab[0];
cout<<"\n";
cout<<i_tab[1];
cout<<"\n";
cout<<i_tab[2];
cout<<"\n";
cout<<i_tab[3];
cout<<"\n";
cout<<i_tab[4];
cout<<"\n";
cout<<i_tab[5];
cout<<"\n";
cout<<i_tab[6];
cout<<"\n";
cout<<i_tab[7];
cout<<"\n";
cout<<i_tab[8];
sortowanie bąbelkowe, takze w c++ (mojego autorstwa wiec raczej kiepskie ale dziala, wymaga zaimplementowania wstawiania zmiennych, w tym przypadku sa jakies przykladowe)
no tzreba przyznac ze bardzo dlugie, i nie jestem pewien, czy spelnia cala idee sortowania babelkowego, tutaj cos krotszego w c++:
Kod:
int main()
{
int d[N],i,j;
// Najpierw wypełniamy tablicę d[] liczbami pseudolosowymi
// a następnie wyświetlamy jej zawartość
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum