Spravil som program ktory vypise najdlhsi usek kladnych cisel, ale s Najdlhsi usk rastucej postupnosti si ozaj neviem rady
mohli by ste mi pomoct?
ma to byt s polom do max 100 prvkov
Fórum › Pascal
Najdlhsi usk rastucej postupnosti
Tak nám prosím tě nejdřív vysvětli, o čem je vlastně řeč... :smile11:
Moje stránka.
No,
mohlo by to vypadat tak,ze si nejprve vsechny cisla poskladas od nejvetsiho do nejmensiho. Potom bys mel asi porovnavat kvocient dvou cisel a mezivysledky si ukladat nekam bokem. Budou-li na ucitem intervalu shodne kvocienty, nasels radu, ne?;)!!!
dalo by sa to asi nejak takto:
vytvorim si 2 premenne, do jednej budem ukladat zaciatok najdlhsej postupnosti (zaciatok) a do druhej jej dlzku (dlzka), na zaciatku im priradim hodnoty 0;
vstupne cisla: 1 2 3 2 3 4 5 1
precitam prve cislo (1) => zvysim premennu udavajucu dlzku postupnosti, t.j. dlzka := 1
precitam druhe cislo (2), ak je vacsie ako to predchadzajuce (1) => zvysim premennu udavajucu dlzku postupnosti, t.j. dlzka := 2
ak je cislo mensie ako predchadzajuce(1) => zaciatok := aktualna pozicia (citame druhe cislo v poradi takze 2, zaciatok := 2), dlzka := 0;
atd..
nakoniec dostaneme napriklad zaciatok := 4; dlzka := 3;
vysledna mnozina cisiel ide od indexu 4 a ma dlzku 3 prvky, t.j. prvky na indexoch 4, 5, 6
+ treba tam este pridat, aby to zistovalo ktora postupnost je najdlhsia :) prvu urcis ako najdlhsiu a ked sa vyskytne vacsi usek t.j. dlzka bude vacsia ako doteraz najvacsi usek tak ten bude najdlhsi
takto nejako by to malo fungovat, viem ze to nie je najidealnejsie riesenie ale mozno ti to nejak pomoze :-)
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
LCS - najdlhšia spoločná podpostupnosť — založil nikola
Najdlhšia postupnosť rôznych čísel — založil Jozef01
Moderátoři diskuze