Forum www.ispwsznysa.fora.pl Strona Główna www.ispwsznysa.fora.pl
Informatyka Stosowania PWSZ NYSA
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Program z kola u Trawki z ASD

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.ispwsznysa.fora.pl Strona Główna -> Algorytmy i struktury danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
stramik
Administrator



Dołączył: 02 Gru 2007
Posty: 126
Przeczytał: 0 tematów

Skąd: Grodków

PostWysłany: Pon 10:56, 09 Cze 2008    Temat postu: Program z kola u Trawki z ASD

Niestety nie mam tresci chyba na kompie, bo nie moge jej znalezc, wiec jesli ktos pamieta to niech napisze

Kod:
program ASD_MatejaszekLeszek_Ter0;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
 max = 110;

type
 TTab = array[1..MAX] of integer;


 wsk   = ^wezel;
 wezel = record
          s : integer;
          l : wsk;
          r : wsk;
         end;

TWsk  = ^TLista;
 TLista = record
            ile      : integer;
           nas,pop  : Twsk;
          end;

procedure LosujDane(var t : TTab);
var i : integer;
begin
 for i:=1 to MAX do t[i]:=random(901)+100;
end;

procedure WstawDoDrzewa(var p : wsk; x : integer);
begin

 if p = nil then
 begin
  new(p);
  p^.s:=x;
  p^.l:=nil;
  p^.r:=nil;
 end
 else
 begin
  if x < p^.s then WstawDoDrzewa(p^.l,x)
  else WstawDoDrzewa(p^.r,x);
 end;

end;


procedure KopiujDoDorzewa(t : ttab; var d : wsk);
var i : integer;
begin
 for i:=1 to MAX do
 begin
  if (t[i] mod 2 = 1) or (t[i] < 500) then WstawDoDrzewa(d,t[i]);

 end;
end;

procedure dzialajnadzrewie(d : wsk);
var
 suma : integer;

procedure dzialaj(p : wsk);
begin
 suma:=suma + p^.s;
 if p^.l <> nil then dzialaj(p^.l);
 if p^.r <> nil then dzialaj(p^.r);
end;

begin
 suma:=0;
 dzialaj(d);
 writeln('Suma=',suma);
end;

procedure dodajdolisty(var pocz : TWsk; d : integer);
var
 ndata : TWsk;
begin
 New(ndata);
 if ndata = nil then exit;
 ndata.ile:=d;
 ndata.nas:=pocz;
 pocz:=ndata;
 pocz.pop:=nil;
end;


procedure kopujdolisty(t : ttab; var list : TWsk);
var i : integer;
begin
 for i:=1 to MAX do dodajdolisty(list,t[i]);
end;

procedure dzialajnaliscie(pocz : twsk);
var suma:integer;
begin
 suma:=0;
 while (pocz <> nil) do
 begin
  if (pocz.ile mod 3 = 0) then suma:= suma + pocz.ile;

  pocz:=pocz.nas;
 end;
end;

procedure sortowanie(var t : ttab);
var temp,i,j : integer;
begin
 for i:=1 to MAX-1 do
 for j:=1 to MAX-1 do
  if t[i] > t[i+1] then
  begin
   temp:=t[i];
   t[i]:=t[i+1];
   t[i]:=temp;
  end;
end;

var
 tab: ttab;
 drzewo : wsk;
 lista : twsk;
begin
 losujdane(tab);
 KopiujDoDorzewa(tab,drzewo);
 dzialajnadzrewie(drzewo);
 kopujdolisty(tab,lista);
 dzialajnaliscie(lista);
 sortowanie(tab);

  { TODO -oUser -cConsole Main : Insert code here }
end.

Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Mardok
Gaduła



Dołączył: 09 Gru 2007
Posty: 91
Przeczytał: 0 tematów


PostWysłany: Pon 11:20, 09 Cze 2008    Temat postu:

Treść masz na pulpicie tam skopiowałem wszystkie TXT bodajże nazwa to "Leszek.txt" albo "Od Leszka.txt" Wink Szukaj po prawej Razz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
stramik
Administrator



Dołączył: 02 Gru 2007
Posty: 126
Przeczytał: 0 tematów

Skąd: Grodków

PostWysłany: Pon 18:33, 09 Cze 2008    Temat postu:

faktycznie slepy jestem Smile


_______________________________

Zadeklaruj stałą o nazwie "Max"równą 110 .Zadeklaruj jako własny typ danych
o rozmiarze''TTab" tablicę statyczną o roamiarze określonym przez stałą max zawierającą
dane o typie integer.
Zadeklaruj zmienną ''Tab" w typie ''TTab"jako zmienną globalną ale widzianą tylko w programie głównym
w procedurach i funkcjach zmienna ma być widoczna.
Napisz procedurę o nazwie ''Losujdane", która wylosuje dane z zakresu od 1000 do 100. Tablica ma być
do procedury przekazana jako parametr.
Napisz procedurę o nazwie ''Kopiujdodrzewa", która wybierze z tablicy statycznej wszystkie liczby
nieparzyste oraz mniejsze od 500 i wstawi je do dynamicznego dzrzewa binarnego.
W tym zadaniu trzeba będzie dopisać procedurę odpowiedzialną za wstawienie elementów na dzrewo.
Wszystkie konieczne mają być przekazywane do procedur jako parametry.
Napisz procedurę o nazwie ''Działaj na drzewie", która policzy sumę wszystkich elementów na dzrewie.
.Wszystkie konieczne dane mają być przekazywane do procedur jako parametry.
Napisz procedurę o nazwie kopiuj do listy, która wybierze z tablicy statycznej
wszystkie liczby parzyste i wstawi je na koniec dynamicznej nieuporządkowanej listy dwukierunkowej(elementy mogą się powtarzać)
.W tym zadaniu trzeba napisać procedurę odpowiedzialną za wstawianie elementów na listę .Wszystkie konieczne dane mają być przekazywane do procedur jako
parametr.Napisz procedurę o nazwie ''Działaj na liście" zsumuje wartości elementów całkowicie podzielnych przez 3 utworzonej listy
Napisz procedurę o nazwie ''Sortowanie" która sortuje dane w tablicy statycznej metodą bombelkową w kolejności malejącej.
Tablica ma być do procedury przekazywana jako parametr
Napisz procedurę wyświetlającą tablicę statyczną w rzędach po 10elementów.Tablica ma być do procedury przek.jako par.
Napisz prog główny uruchamiający wszystkie napisane procedury kolejności numeracji.
Prog nie musi mieć menu ani pytać o cokolwiek użytkownika.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.ispwsznysa.fora.pl Strona Główna -> Algorytmy i struktury danych Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
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

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin