Witam.
Mam mały problem;P nie wynika on z mojej nie umiejętności programowania lecz dziwnego zapisu algorytmu, którego do końca nie rozumiem.. Mógłby ktoś mi to wytłumaczyć?
Z góry dzięki:)
podstaw sobie znak równości w miejsce strzałek.
A mógłby jednak ktoś napisać do tego algorytmu?:)
cóż, ile płacisz bo za free nic nie ma, gotowca nikt Ci tutaj nie da -,-
Funkcja XXXX przyjmuje 3 argumenty - tablicę A i dwie zmienne skalarne p i r.
Deklarujesz zmienną x = r-ty element tablicy A.
deklarujesz zmienną i = p-1
pętla od j = p do r-1 ((//brakuje mi tu zwiększania zmiennej j, ale cóż))
{
jeśli j-ty element tablicy A jest mniejszy równy x
{
zwiększ i o 1
t = i-ty element tablicy A
i-ty element tablicy A = j-ty element tablicy A
j-ty element tablicy A = t
}
}
t = j+1-ty element tablicy A
j+1-ty element tablicy A = r-ty element tablicy A
r-ty element tablicy A = r
funkcja zwraca zmienną i powiększoną o 1
pliternet dzięki za pomoc teraz już wiem co zrobić:) mam jeszcze dwa pytanka te zmienne globalnie zrobić nie? i czy typ double będzie najlepszy dla nich?
- Zmiennych globalnych unikaj, wszystko da się wykonać poprzez wskaźniki
- Nie. Wystarczą intigery
Czyli deklaracja zmiennych może być tak:
int p,r;
int tab[t];
?
A pod tym x = tab[r];?
i =p-1;
ty masz to tylko zapisać a nie doprowadzić do wykonywalnego pliku.
int XXXX(int A[], int p, int r)
{
//reszte kodu
}
można też :
int XXXX(int *A, int p, int r) // ?
{
//reszte kodu
}
aha<ściana>
resident odpisz na wiadomość;)
ale to też ma być w tych klamrach:
deklarujesz zmienną i = p-1
pętla od j = p do r-1 ((//brakuje mi tu zwiększania zmiennej j, ale cóż))
?????