Ĺadny brzuch
Elo ludzie dostalem takie zadanie i nie kapuje go (po części). Aha i chce napisac to w Pascalu. Oto jego tresc:
" Napisz program, który mając podane z klawiatury 10 liczb z przedziału -100000 - +100000 wyświetla je wyłącznie w następującej kolejności:
#1. Najpierw te, które są podzielne przez 5
#2. Potem te, które są podzielne przez 4
#3. Te, które są podzielne przez 3
#4. Pozostałe
Liczby w każdym ze zbiorów (#1, #2, #3, #4) powinny być uporządkowane w kolejności rosnącej."
Przykład 1 1 5 2 8 -76002 85000 2 -8 54 7
Wyjście 5 85000 -8 8 54 -76002 1 2 2 7
--------------------------------
Przykład 2 11 3 9900 1 1 2 -1 3 6 -12
Wyjście 99000 -12 3 3 6 -11 -1 1 1 2
To jak zrobic wartosci wpisywane to wiem (read(var)), ale nie mam pojecia, jak sprawdzic czy liczba jest podzielna bez reszty przed dana liczbe i jak je uszeregowac. Jesli komus chce sie pisac, prosilbym o kod calego zadania..
Z gory wielkie thx!
Podzielnośc bez reszty sprawdzasz MOD'em:
if liczba mod 5 = 0 then //jest podzielna przez 5
Ja bym Twój problem rozwiązał w ten sposób, że każdą liczbe podzielną przez 3, 4, 5 ładował do tablic (pozostałe też) a następnie sortował tablice - o sortowaniu było milion razy i na forum, jest w FAQ, znalezienie to nie problem...
Użytkownik p1101 edytował ten post 28 październik 2005, 13:15
ok, ale jak to moge zrobic, i w jaki sposob, moge uszeregowac te liczby, wg. podanego wyzej schematu?
ok, ale jak to moge zrobic, i w jaki sposob, moge uszeregowac te liczby, wg. podanego wyzej schematu?
Jak? Wpisać w googlach "algorytm sortowania" i sobie zrobić -pełno do wyboru: bąbelkowe, poprzez wstawianie... <_<
Poza tym, p1101 wytłumaczył ci wszystko więc nie rozumiem. :huh:
No to jak dodac do tablic?
dawno juz nie widzialem pascala ale mniej wiecej tak
uses crt; type Ttab=array[1..10] of integer; var i,j,pom:integer; tab:Ttab; begin { wypelnienie tablicy} for i=1 to 10 do readln(tab[i]); { sortowanie tablicy} for j=1 to 9 do for i=1 to 9 do if tab[i]>tab[i+1] then begin pom:=tab[i]; tab[i]:=tab[i+1] tab[i+1]:=pom; end; end.
Użytkownik KodeG edytował ten post 28 październik 2005, 20:01
No to jak dodac do tablic?
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
" Napisz program, który mając podane z klawiatury 10 liczb z przedziału -100000 - +100000 wyświetla je wyłącznie w następującej kolejności:
#1. Najpierw te, które są podzielne przez 5
#2. Potem te, które są podzielne przez 4
#3. Te, które są podzielne przez 3
#4. Pozostałe
Liczby w każdym ze zbiorów (#1, #2, #3, #4) powinny być uporządkowane w kolejności rosnącej."
Przykład 1 1 5 2 8 -76002 85000 2 -8 54 7
Wyjście 5 85000 -8 8 54 -76002 1 2 2 7
--------------------------------
Przykład 2 11 3 9900 1 1 2 -1 3 6 -12
Wyjście 99000 -12 3 3 6 -11 -1 1 1 2
To jak zrobic wartosci wpisywane to wiem (read(var)), ale nie mam pojecia, jak sprawdzic czy liczba jest podzielna bez reszty przed dana liczbe i jak je uszeregowac. Jesli komus chce sie pisac, prosilbym o kod calego zadania..
Z gory wielkie thx!
Podzielnośc bez reszty sprawdzasz MOD'em:
if liczba mod 5 = 0 then //jest podzielna przez 5
Ja bym Twój problem rozwiązał w ten sposób, że każdą liczbe podzielną przez 3, 4, 5 ładował do tablic (pozostałe też) a następnie sortował tablice - o sortowaniu było milion razy i na forum, jest w FAQ, znalezienie to nie problem...
Użytkownik p1101 edytował ten post 28 październik 2005, 13:15
ok, ale jak to moge zrobic, i w jaki sposob, moge uszeregowac te liczby, wg. podanego wyzej schematu?
ok, ale jak to moge zrobic, i w jaki sposob, moge uszeregowac te liczby, wg. podanego wyzej schematu?

Jak? Wpisać w googlach "algorytm sortowania" i sobie zrobić -pełno do wyboru: bąbelkowe, poprzez wstawianie... <_<
Poza tym, p1101 wytłumaczył ci wszystko więc nie rozumiem. :huh:

No to jak dodac do tablic?
dawno juz nie widzialem pascala ale mniej wiecej tak
uses crt; type Ttab=array[1..10] of integer; var i,j,pom:integer; tab:Ttab; begin { wypelnienie tablicy} for i=1 to 10 do readln(tab[i]); { sortowanie tablicy} for j=1 to 9 do for i=1 to 9 do if tab[i]>tab[i+1] then begin pom:=tab[i]; tab[i]:=tab[i+1] tab[i+1]:=pom; end; end.
Użytkownik KodeG edytował ten post 28 październik 2005, 20:01
No to jak dodac do tablic?
