Thread View: pl.comp.lang.pascal
12 messages
12 total messages
Started by mariuszmichalak
Tue, 16 Jan 2007 16:30
Znajdowanie min i max wartości w zbiorze
Author: mariuszmichalak
Date: Tue, 16 Jan 2007 16:30
Date: Tue, 16 Jan 2007 16:30
6 lines
1506 bytes
1506 bytes
Witam! Mama do zanalizowania program, który znajduje minimalną i maksymalną wartośc w danym zbiorze Liczby są wpisane do tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
Re: Znajdowanie min i max wartości w zbiorze
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 16 Jan 2007 16:32
Date: Tue, 16 Jan 2007 16:32
18 lines
1745 bytes
1745 bytes
mariuszmichalak@o2.pl wrote: > Witam! Mama do zanalizowania program, który znajduje minimalną i > maksymalną wartośc w danym zbiorze Liczby są wpisane do > tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że > ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile > widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony > program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam. A kysz do książek albo jakiegoś minimalnego kursu, i coś pokaż że zrobiłeś, albo pokaż co już masz i co nie działa, albo powiedz że chcesz gotowca. Wtedy się możemy ustosunkować do Twojego problemu związanego z nadchodzącą sesja. -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://maly.nemo.pl/
Re: Znajdowanie min i max wartości w zbiorze
Author: Sebastian 'Sebecco' Grabowski
Date: Tue, 16 Jan 2007 18:02
Date: Tue, 16 Jan 2007 18:02
26 lines
2118 bytes
2118 bytes
Dnia 16-01-2007 o godzinie 17:30:37 mariuszmichalak@o2.pl stwierdził(a):
> Witam! Mama do zanalizowania
a w jakim wieku... ;)
> program, który znajduje minimalną i
> maksymalną wartośc w danym zbiorze Liczby są wpisane do
> tablicy.Sprawa niby jest prosta.
miałem to to na zajęciach - rzeczywiscie prosta sprawa (jak tlumaczyl
gosc od laborek
> Cały mój problem polega na tym, że
> ma to być zrealizowane poprzez pętle while.
tak tez tlumaczyl...
> Prosze o pomoc. Mile
> widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony
> program.
a moze bys najpierw troche sam sprobowal popracowac... i pokazac z czym
masz problem...
> Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
Rowniez pozdrawiam
--
(]()[) Sebastian -Sebecco- Grabowski GG:5064727
() http://grabowscy.freehost.pl
(]()[) mailto:grabowski.spam@wp.pl Skype:sebecco
() Z adresu usuń niepotrzebne PAM, S zostaje!
(]()[) Zodiakalne BARANY są bardzo inteligentne
Re: Znajdowanie min i max wartości w zbiorze
Author: Geo
Date: Tue, 16 Jan 2007 18:52
Date: Tue, 16 Jan 2007 18:52
18 lines
1499 bytes
1499 bytes
while not min_max_found() do find_min_max(); sprowadziłem twój problem do prostszej postaci - wystarczy napisać kod funkcji: function min_max_found() : boolean; begin ... end; oraz procedury procedure find_min_max(); begin ... end; i wszystko jasne.
Re: Znajdowanie min i max wartości w zbiorze
Author: Tp
Date: Wed, 17 Jan 2007 18:23
Date: Wed, 17 Jan 2007 18:23
14 lines
1552 bytes
1552 bytes
napisze ci to za 5 zł. pozdro tp gg: 2819444 Użytkownik <mariuszmichalak@o2.pl> napisał w wiadomości news:1168965031.296355.290250@38g2000cwa.googlegroups.com... Witam! Mama do zanalizowania program, który znajduje minimalną i maksymalną wartośc w danym zbiorze Liczby są wpisane do tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
Re: Znajdowanie min i max wartości w zbiorze
Author: Solaris
Date: Thu, 18 Jan 2007 11:58
Date: Thu, 18 Jan 2007 11:58
100 lines
2671 bytes
2671 bytes
Dnia pańskiego 16 Jan 2007 08:30:37 -0800
mariuszmichalak@o2.pl starał się coś napisać o:
: Witam! Mama do zanalizowania program, który znajduje minimalną i
: maksymalną wartośc w danym zbiorze Liczby są wpisane do
: tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że
: ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile
: widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony
: program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
{$MODE OBJFPC}
const
MAXN = $000F;
type
PTab = ^TTab;
TTab = array of Cardinal;
TProc = procedure;
TObj = class
procedure Run(p: TProc); cdecl;
end;
var
tab: PTab;
min,
max: Cardinal;
obj: TObj;
procedure TObj.Run(p: TProc); cdecl;
begin
p();
end;
procedure MinMax();
var
i: Integer;
begin
min:=tab^[0];
max:=tab^[0];
i:=0;
while (i <> MAXN) do
begin
if (tab^[i] < min) then
min:=tab^[i];
if (tab^[i] > max) then
max:=tab^[i];
Integer(i)+=Word($1);
end;
end;
procedure Generate();
var
i: Integer;
begin
randomize();
for i:=0 to (MAXN) do
tab^[i]:=random(random(50));
end;
procedure Print();
var
i: Integer;
begin
for i:=0 to (MAXN) do
write(tab^[i],', ');
writeln(#10'min = ',min);
writeln('max = ',max);
end;
begin
new(tab);
SetLength(tab^, Byte(MAXN));
obj.Create();
obj.Run(@Generate);
obj.Run(@MinMax);
obj.Run(@Print);
end.
--
Born to raise hell.
Linux registered user: 408584
Contact: GG#3802676, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname
Re: Znajdowanie min i max wartości w zbiorze
Author: mariuszmichalak
Date: Thu, 18 Jan 2007 19:47
Date: Thu, 18 Jan 2007 19:47
172 lines
3865 bytes
3865 bytes
Próbowałem to przerobic w prostsza postac tak zeby byly tylko same
procedury no i nie dziala.Chodzi o maksymalne uproszczenie. Jestem
początkującym w pascalu. Może ktoś mi pomóc to poprawic. Z góry
dzięki.
To pierwotna rozrzerzona wersja
> {$MODE OBJFPC}
>
> const
> MAXN = $000F;
>
> type
> PTab = ^TTab;
> TTab = array of Cardinal;
>
> TProc = procedure;
>
> TObj = class
> procedure Run(p: TProc); cdecl;
> end;
>
> var
> tab: PTab;
> min,
> max: Cardinal;
> obj: TObj;
>
>
> procedure TObj.Run(p: TProc); cdecl;
> begin
> p();
> end;
>
>
> procedure MinMax();
> var
> i: Integer;
>
> begin
> min:=tab^[0];
> max:=tab^[0];
> i:=0;
>
> while (i <> MAXN) do
> begin
> if (tab^[i] < min) then
> min:=tab^[i];
>
> if (tab^[i] > max) then
> max:=tab^[i];
>
> Integer(i)+=Word($1);
> end;
> end;
>
>
> procedure Generate();
> var
> i: Integer;
>
> begin
> randomize();
>
> for i:=0 to (MAXN) do
> tab^[i]:=random(random(50));
> end;
>
>
> procedure Print();
> var
> i: Integer;
>
> begin
> for i:=0 to (MAXN) do
> write(tab^[i],', ');
>
> writeln(#10'min = ',min);
> writeln('max = ',max);
> end;
>
>
> begin
> new(tab);
> SetLength(tab^, Byte(MAXN));
> obj.Create();
> obj.Run(@Generate);
> obj.Run(@MinMax);
> obj.Run(@Print);
> end.
>
>
> --
> Born to raise hell.
> Linux registered user: 408584
> Contact: GG#3802676, solaris#idns.pl
> 19:16:28 -!- Platyna Erroneous Nickname
Oto przeróbka
PROGRAM min_max;
USES Crt;
var
> tab:
> min,
> max:
> obj:
>
>
> procedure TObj.Run(p: TProc); cdecl;
> begin
> p();
> end;
>
>
> procedure MinMax();
> var
> i: Integer;
>
> begin
> min:=tab^[0];
> max:=tab^[0];
> i:=0;
>
> while (i <> MAXN) do
> begin
> if (tab^[i] < min) then
> min:=tab^[i];
>
> if (tab^[i] > max) then
> max:=tab^[i];
>
> Integer(i)+=Word($1);
> end;
> end;
>
>
> procedure Generate();
> var
> i: Integer;
>
> begin
> randomize();
>
> for i:=0 to (MAXN) do
> tab^[i]:=random(random(50));
> end;
>
>
> procedure Print();
> var
> i: Integer;
>
> begin
> for i:=0 to (MAXN) do
> write(tab^[i],', ');
>
> writeln(#10'min = ',min);
> writeln('max = ',max);
> end;
>
>
> begin
> new(tab); |
min_max | TU POWINNY BYC PARAMETRY ALE JAKIE ???
generate |
> pirnt
> end.
Re: Znajdowanie min i max wartości w zbiorze
Author: Łukasz 'Maly' Ostrowski
Date: Thu, 18 Jan 2007 23:34
Date: Thu, 18 Jan 2007 23:34
14 lines
1476 bytes
1476 bytes
mariuszmichalak@o2.pl wrote: > Próbowałem to przerobic w prostsza postac tak zeby byly tylko same > procedury no i nie dziala.Chodzi o maksymalne uproszczenie. Jestem > początkującym w pascalu. Może ktoś mi pomóc to poprawic. Z góry > dzięki. You've been pwned. Nie jesteś w stanie "przerobić" tego na jakąkolwiek postać. X-D -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://maly.nemo.pl/
Re: Znajdowanie min i max wartości w zbiorze
Author: Solaris
Date: Fri, 19 Jan 2007 14:31
Date: Fri, 19 Jan 2007 14:31
20 lines
1732 bytes
1732 bytes
Dnia pańskiego Fri, 19 Jan 2007 00:34:53 +0100 Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl> starał się coś napisać o: : mariuszmichalak@o2.pl wrote: : > Próbowałem to przerobic w prostsza postac tak zeby byly tylko same : > procedury no i nie dziala.Chodzi o maksymalne uproszczenie. Jestem : > początkującym w pascalu. Może ktoś mi pomóc to poprawic. Z góry : > dzięki. : : : You've been pwned. Nie jesteś w stanie "przerobić" tego na : jakąkolwiek postać. X-D No i mamy następnego co nic nie umi a próbuje udawać że jednak coś potrafi =] -- Born to raise hell. Linux registered user: 408584 Contact: GG#3802676, solaris#idns.pl 19:16:28 -!- Platyna Erroneous Nickname
Re: Znajdowanie min i max wartości w zbiorze
Author: GFM
Date: Fri, 19 Jan 2007 21:04
Date: Fri, 19 Jan 2007 21:04
71 lines
2690 bytes
2690 bytes
ktoś coś (Solaris) napisał oto tak:
> Dnia pańskiego 16 Jan 2007 08:30:37 -0800
> mariuszmichalak@o2.pl starał się coś napisać o:
>> Witam! Mama do zanalizowania program, który znajduje minimalną i
>> maksymalną wartośc w danym zbiorze Liczby są wpisane do
>> tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że
>> ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile
>> widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony
>> program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
> {$MODE OBJFPC}
> const
> MAXN = $000F;
> type
> PTab = ^TTab;
> TTab = array of Cardinal;
> TProc = procedure;
> TObj = class
> procedure Run(p: TProc); cdecl;
> end;
> var
> tab: PTab;
> min,
> max: Cardinal;
> obj: TObj;
> procedure TObj.Run(p: TProc); cdecl;
> begin
> p();
> end;
> procedure MinMax();
> var
> i: Integer;
> begin
> min:=tab^[0];
> max:=tab^[0];
> i:=0;
> while (i <> MAXN) do
> begin
> if (tab^[i] < min) then
> min:=tab^[i];
> if (tab^[i] > max) then
> max:=tab^[i];
> Integer(i)+=Word($1);
> end;
> end;
> procedure Generate();
> var
> i: Integer;
> begin
> randomize();
> for i:=0 to (MAXN) do
> tab^[i]:=random(random(50));
> end;
> procedure Print();
> var
> i: Integer;
> begin
> for i:=0 to (MAXN) do
> write(tab^[i],', ');
> writeln(#10'min = ',min);
> writeln('max = ',max);
> end;
> begin
> new(tab);
> SetLength(tab^, Byte(MAXN));
> obj.Create();
> obj.Run(@Generate);
> obj.Run(@MinMax);
> obj.Run(@Print);
> end.
po ch... tak utrudniac ?
Re: Znajdowanie min i max wartości w zbiorze
Author: Solaris
Date: Fri, 19 Jan 2007 21:09
Date: Fri, 19 Jan 2007 21:09
86 lines
3246 bytes
3246 bytes
Dnia pańskiego Fri, 19 Jan 2007 22:04:38 +0100
"GFM" <gfm@no.no> starał się coś napisać o:
: ktoś coś (Solaris) napisał oto tak:
: > Dnia pańskiego 16 Jan 2007 08:30:37 -0800
: > mariuszmichalak@o2.pl starał się coś napisać o:
: >> Witam! Mama do zanalizowania program, który znajduje minimalną i
: >> maksymalną wartośc w danym zbiorze Liczby są wpisane do
: >> tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że
: >> ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile
: >> widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony
: >> program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
: > {$MODE OBJFPC}
: > const
: > MAXN = $000F;
: > type
: > PTab = ^TTab;
: > TTab = array of Cardinal;
: > TProc = procedure;
: > TObj = class
: > procedure Run(p: TProc); cdecl;
: > end;
: > var
: > tab: PTab;
: > min,
: > max: Cardinal;
: > obj: TObj;
: > procedure TObj.Run(p: TProc); cdecl;
: > begin
: > p();
: > end;
: > procedure MinMax();
: > var
: > i: Integer;
: > begin
: > min:=tab^[0];
: > max:=tab^[0];
: > i:=0;
: > while (i <> MAXN) do
: > begin
: > if (tab^[i] < min) then
: > min:=tab^[i];
: > if (tab^[i] > max) then
: > max:=tab^[i];
: > Integer(i)+=Word($1);
: > end;
: > end;
: > procedure Generate();
: > var
: > i: Integer;
: > begin
: > randomize();
: > for i:=0 to (MAXN) do
: > tab^[i]:=random(random(50));
: > end;
: > procedure Print();
: > var
: > i: Integer;
: > begin
: > for i:=0 to (MAXN) do
: > write(tab^[i],', ');
: > writeln(#10'min = ',min);
: > writeln('max = ',max);
: > end;
: > begin
: > new(tab);
: > SetLength(tab^, Byte(MAXN));
: > obj.Create();
: > obj.Run(@Generate);
: > obj.Run(@MinMax);
: > obj.Run(@Print);
: > end.
:
: po ch... tak utrudniac ?
Że to jest twoim zdaniem utrudnienie? LOL.
A po chuj trolowi mam dawać gotową wersję do odpalenia?
Ja był dał taką - działa? działa. Wystarczy.
A, że nie bedzie potrafił wytłumaczyć jak działa to jego problem nie mój.
Ja nie muszę w ogóle dawać rozwiązań.
--
Born to raise hell.
Linux registered user: 408584
Contact: GG#3802676, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname
Re: Znajdowanie min i max wartości w zbiorze
Author: Magda S
Date: Thu, 06 Sep 2007 19:41
Date: Thu, 06 Sep 2007 19:41
59 lines
2516 bytes
2516 bytes
mariuszmichalak@o2.pl pisze:
> Witam! Mama do zanalizowania program, który znajduje minimalną i
> maksymalną wartośc w danym zbiorze Liczby są wpisane do
> tablicy.Sprawa niby jest prosta. Cały mój problem polega na tym, że
> ma to być zrealizowane poprzez pętle while. Prosze o pomoc. Mile
> widziany kod żródłowy, aby mógł lepiej zanalizowac przedstawiony
> program. Z góry dziękuje za wszelkie podpowiedzi. Pozdrawiam.
>
Temat stary, ale ciekawy. Aho, Hopcroft i Ullman zalecają wersję
rekurencyjną, która wykonuje mniej porównań niż w przypadku seryjnego
skanowania tablicy przez WHILE:
procedure SearchMinMax(const A: array of real; var aMinimum, aMaximum:
Real);
Procedure ScanInterval(FromNdx, ToNdx: Word; var aMin, aMax: Real);
var
vMin1, vMin2, vMax1, vMax2: Real;
MidNdx: Word;
begin
if ToNdx - FromNdx <= 1 then
begin
vMin1 := A[FromNdx];
vMax1 := vMin1;
vMin2 := A[ToNdx];
vMax2 := vMin2;
end
else
begin
MidNdx := (FromNdx + ToNdx) div 2;
ScanInterval(FromNdx, MidNdx, vMin1, vMax1);
ScanInterval(MidNdx+1, ToNdx, vMin2, vMax2);
end;
if vMin1 < vMin2
then
aMin := vMin1
else
aMin := vMin2;
if vMax1 > vMax2
then
aMax := vMax1
else
aMax := vMax2;
end;
begin
ScanInterval(Low(A), Hign(A), aMinimum, aMaximum);
end;
To było tak a propos. Nauczyciel zażądał od piszącego wersji z WHILE
(czemu nie z FOR?) bo może nie znał powyższego.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads