-
X-Received: by 2002:a0c:cd8b:: with SMTP id v11mr26637494qvm.66.1574089065657; Mon,
18 Nov 2019 06:57:45 -0800 (PST)
X-Received: by 2002:a0c:cd8b:: with SMTP id v11mr26637494qvm.66.1574089065657; Mon,
18 Nov 2019 06:57:45 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2
.proxad.net!209.85.160.216.MISMATCH!j16no544572qtl.0!news-out.google.com!g53ni2
72qtg.0!nntp.google.com!j16no544565qtl.0!postnews.google.com!glegroupsg2000goo.
googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 18 Nov 2019 06:57:45 -0800 (PST)
In-Reply-To: <9...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <5dd2981a$0$17364$65785112@news.neostrada.pl>
<9...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9...@g...com>
Subject: Re: Jak zrobić grupowanie w kolejności
From: g...@g...com
Injection-Date: Mon, 18 Nov 2019 14:57:45 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:214441
[ ukryj nagłówki ]W dniu poniedziałek, 18 listopada 2019 15:47:23 UTC+1 użytkownik g...@g...com
napisał:
> W dniu poniedziałek, 18 listopada 2019 14:09:47 UTC+1 użytkownik Borneq napisał:
> > Mam liczby 1,5,7,10,100,5,6,
> > jak zrobić grupy o co najmniej sumie 10, nie zmieniając kolejności tak jak:
> > (1,5,7),(10),(100),(5,6),
> > zamiast liczb mogą być długości stringów,
> > mogę najprościej:
> > vector<wstring> vec;
> > vector<wstring> veclongs;
> >
> > int n = 0;
> > for (int i = 0; i < vec.size(); i++)
> > {
> > if (i == 0 || vec[i].length() > 10)
> > {
> > veclongs.push_back(vec[i]);
> > n++;
> > }
> > else veclongs.back() = veclongs.back() + vec[i];
> > }
> > return veclongs;
> >
> > Jedna wada to i==0 bo inaczej nie da rady veclongs.back()
> > co gdy pierwszy będzie mały np 5 a pozostałe wystarczajace?
> > np: 5,10,10,10, - bez grupowania
> > a trzeba (5,10),10,10
> > Jak to zrobić, niby prosto bo bez zmiany kolejności
>
>
> W Haskellu na szybko:
>
> groups :: [a] -> ([a] -> Bool) -> [[a]]
> groups list c = f list []
> where f (h:t) g | (c (g++[h])) = [g++[h]]++(f t [])
> f (h:t) g = f t (g++[h])
> f [] g = []
>
> groups [1,5,7,10,100,5,6] (\x -> (sum x) >= 10)
> [[1,5,7],[10],[100],[5,6]]
Ewentualnie jakbyś chciał, żeby ostatnia niepełna grupa też trafiała do listy, to
wtedy zamiast ostatniego warunku byś musiał napisać:
f [] [] = []
f [] g = [g]
Następne wpisy z tego wątku
- 18.11.19 16:12 M.M.
- 18.11.19 19:47 Borneq
- 18.11.19 19:51 Borneq
- 18.11.19 20:08 g...@g...com
- 18.11.19 23:40 g...@g...com
- 19.11.19 13:52 Borneq
- 19.11.19 17:11 g...@g...com
- 19.11.19 17:36 Borneq
- 19.11.19 18:25 Borneq
- 19.11.19 18:29 g...@g...com
- 20.11.19 01:00 M.M.
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-27 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-04-27 wymiana ekranu w laptopie
- 2024-04-27 DC blocker i buczące toroidy
- 2024-04-26 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-26 Berlin => IT Network Engineer <=
- 2024-04-26 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-04-26 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-26 Białystok => Business Development Manager - obszar bezpieczeństwa IT
- 2024-04-26 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-26 Warszawa => Product Owner/ Product Manager <=
- 2024-04-26 Warszawa => International freight forwarder <=
- 2024-04-26 Gdańsk => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-04-26 Jak się płaci CIT ?
- 2024-04-26 steve balmer o iphonie w 2007
- 2024-04-25 Wrocław => Java Developer <=