-
X-Received: by 10.140.101.235 with SMTP id u98mr326qge.22.1412537202163; Sun, 05 Oct
2014 12:26:42 -0700 (PDT)
X-Received: by 10.140.101.235 with SMTP id u98mr326qge.22.1412537202163; Sun, 05 Oct
2014 12:26:42 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed4a.news.xs4all.n
l!xs4all!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!dc1
6no820646qab.1!news-out.google.com!i10ni60qaf.0!nntp.google.com!s7no701990qap.0
!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 5 Oct 2014 12:26:42 -0700 (PDT)
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=80.238.113.190;
posting-account=FE4hoAoAAADKg8EtnA4bEyQiJf7iqAgV
NNTP-Posting-Host: 80.238.113.190
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1...@g...com>
Subject: Algorytmiczny problem lamera... :-)
From: m...@g...com
Injection-Date: Sun, 05 Oct 2014 19:26:42 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Lines: 36
Xref: news-archive.icm.edu.pl pl.comp.programming:206687
[ ukryj nagłówki ]Pomóżcie, bo spać nie mogę.
Po paru latach przerwy dopadła mnie konieczność napisania programu.
Problem był dość banalny: Na wejściu dostajemy paręnaście tysięcy list składających
się z kilkudziesięciu elementów (stringów), listy są posortowane, elementy list mogą
się powtarzać i robią to nagminnie - zadaniem programu jest "odfiltrowanie"
powtórzonych elementów i zapisanie tak wyczyszczonych list do pliku.
Zadanie jest już rozwiązane, ale gnębi mnie mało elegancki sposób jego rozwiązania.
Kod "filtrujący":
c = 1; // A)
for (i = 0; i < nElem; i++)
{
for (k = 0; k < i; k++)
{
c = strcmp(Tab[i], Tab[k]);
if (c == 0) // B)
break;
}
if (c != 0) // C)
MyOutFile << Tab[i] << ...
}
Pomijając kwestię optymalizacji dostępu do tablic i skorzystania ze "zbicia"
powtarzających się elementów - jak to to ucywilizować?
Zestawienie instrukcji C i B, niestety, kłuje w oczy...
Tak samo, jak "sztuczna" instrukcja A.
Da się coś z tym zrobić?
Jedyne, co mi przychodzi do głowy, to posłużenie się instrukcją goto, ale to - jak
wiadomo - samo zło...
Następne wpisy z tego wątku
- 05.10.14 22:11 bartekltg
- 05.10.14 22:13 A.L.
- 06.10.14 21:04 m...@g...com
- 06.10.14 22:20 bartekltg
- 07.10.14 07:31 slawek
- 07.10.14 15:18 firr
- 10.10.14 15:28 M.M.
- 10.10.14 15:39 M.M.
- 10.10.14 16:01 bartekltg
- 11.10.14 10:07 M.M.
- 11.10.14 16:27 A.L.
- 11.10.14 17:31 M.M.
- 12.10.14 01:17 bartekltg
- 12.10.14 02:31 M.M.
- 12.10.14 12:52 M.M.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- 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?
Najnowsze wątki
- 2024-06-03 dziękuję nie tankuję
- 2024-06-03 Bo konie to ...
- 2024-06-03 narząd nieużywany zanika
- 2024-06-02 Restart PC-ta
- 2024-06-03 polskie miasta są małe
- 2024-06-04 Wrocław => Senior React Native Developer <=
- 2024-06-04 Warszawa => Sales Executive <=
- 2024-06-04 Białystok => ERP Implementer <=
- 2024-06-03 Zielona Góra => Engineer R&D Mechanic <=
- 2024-06-03 Kielce => UX/UI Designer <=
- 2024-06-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-06-03 Warszawa => Technical Leader (Java Background) <=
- 2024-06-03 Warszawa => Senior Rust Software Engineer <=
- 2024-06-03 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-06-03 Marki => Senior PHP Developer <=