ďťż

Ł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
  •