Prosím poradte mi jak man napsat, aby mi to napsalo maximum v poli
Fórum › Pascal
Maximum v poli
Pascal už jsem léta neviděl, takže nevím, jestli tam pro to není přímo nějaká funkce, ale to pole můžeš třeba seřadit od nejmenšího čísla po největší a pak vzít poslední prvek. Pokud nechceš nechceš to pole přerovnat natvrdo, tak si ho nejdřív můžeš zkopírovat do jiného pole a srovnat to, anebo jen porovnat hodnoty v tom poli a vybrat tu nejvyšší.
To crAzY^ : No právě, proto na začátku píšu, že nevím, jestli na to má Pascal funkci (ale je logické aby měl:))
vem prvni prvek pole, dej ho do promenny MAX a kazdej dalsi prvek s nim porovnej a pokud by byl vetsi tak ho tam prirad ---> ma to asi nejmensi slozitost co se da vymacknout...soucasne muzes takhle hledat i nejmensi prvek a mas to hned v jednom....
v pripade, ze nemas pouzivat trideni a to pole je proste array[1..n] of integer kde n je nejaka konstanta, tak ta funkce bude vypadat treba takhle:
function max(pole: array[1..n] of integer): integer;
var i: integer;
begin
max:=pole[1]; {do max ulozime prvni hodnotu v poli}
for i:=2 to n do {postupneme bereme dalsi cisla v poli}
if pole[i]>max then max:= pole[i]; {kdyz narazime na vetsi cislo, nez jsme zatim nasli, tak ho ulozime}
end;
About Strangelet: Myslím (a dokonce se odvážím vsadit), že porovnávání, které navrhuje strangelet je to nejlepší, co se dá udělat. Podle zadání potřebuje jen určit největší prvek. Tak proč to řadit nebo podobně.
- Naopak!!! Seřazení je "tisíckrát" zdlouhavější! Pokud máte pole o délce, dejme tomu 100000 prvků, tak porovnání potřebuje právě 100000 elementárních operací. Naopak vaše funkce sort( ) ( qsort( ) )v nejhorším případě 10000000000 operací. Tak který asi bude výhodnější?crAzY^ napsal:
To Chrasty : porovnání by bylo zdlouhavé... leší použít nějakou tu fci... jake je v C++ sort() nebo tak.....
nechapu na co potrebujete na maximum v poli setridit cely pole... to je podle typu razeni o dost pomalejsi nez udelat toto:
maximum := prvni_prvek_pole;
for i:=2 to posledni_index do
if maximum < aktualni_prvek_pole then maximum := aktualni_prvek_pole;
To strangelet : super díky mnohokrát přesně tohle jsem chtěl
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Maximum v matici — založil fja
Maximum typu — založil gody
Největší v poli polí — založil Noneus
Hledání v poli polí — založil jaxx19
Počet polí a počet prvkov v poli — založil Bimak
Moderátoři diskuze