Loading...
MarinParov avatar MarinParov 5 Точки

Насоки за съставяне на списък LIST от .txt файл и сортиране по параметри: азбучен ред, дължина на думата.

Здравейте скъпи колеги, 

Карам Programing basics C Sharp  и се обръщам към "батковците и каките" от горното ниво за да ми дадете насока как да си направя:
 - Списък от 500 думи,
-  да го заредя в конзолата от файл .txt , 
-  да си го преработя по желани параматреи: брой букви, и после по алфабетичен ред и после да го разделя на 10 отделни списъка от по 50 думи.
- По възможност да се обединят в един списък.  

Това не е задание от университета, а реален казус от работата ми. Учител съм по английски език и трябва да си преработя един голям списък за нуждите на класа. Сега видях, че списъка, който си вкарвам на ръка в програма за флашкарти е от миналата година.
Имам списък и от тази година - искам да си го програмирам, а не по бабешката, да броя букви и да правя 100 списъка.


Не моля да ми свършите черната работа и да мина тънко, а само за насоки. Трябваше да е част от портфолиото ми с авторски проекти за следващата година, но ми се налага да се ориентирам бързичко за около месец. 

С две думи. Само някой линкове към форума и StackOverflow ще са златна помощ. 

Тагове:
0
Module: C# Advanced 25/01/2019 15:29:09
VasilKotsev avatar VasilKotsev 830 Точки
Best Answer

Трябват ти познания по Stream-ове (потоци), някои основни структури от данни (List<T>, масиви), функционално програмиране, LINQ и методи. Можеш да ползваш StreamReader и да четеш ред по ред от текстов документ(можеш и наведнъж, но при по-големи документи ще береш ядове защото се зареждат директно в рам паметта). След което си изкарваш нужните методи за обработка на текста и със StreamWriter го пишеш към нов документ.

0
25/01/2019 15:24:56
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Streams по скоро ни но io.file. и file read и тн. Това му е от лосална машина.

Поне така го разбирам аз. Иначе колегато го и описал общо взето. С file четеш file от адреса в pc-то,после щом си само на pb ще ти е доста трудно. Linq lists ще те объркат. И с файлове е малко кофита ако решиш да записваш ако не си следиш dispose и usage. По скоро дай някакъв fakе file подобен на тозш който искаш да оправиш. И да ти нахвърляме нещо.

0
MarinParov avatar MarinParov 5 Точки

Дай ни някакъв пример какво искаш да постигнеш ? В какъв формат са ти входните данни ? Как трябва да изглежда output-a ?/

---------------

Входни данни са списък от думи в .txt 

1. leaf, листо - всяка дума на нов ред без нумерацията 500 реда. 
2. Umbrella, чадър
3. Cat, котка
4. impossible, невъзможно. 

Outputa трябва да изглежда така. 
 
Трябва да се подредят по дължина на думата, после ако може по азбучен ред. 
3. Cat, котка
1. Leaf, листо
2. Umbrella, чадър
4. Impossible, невъзможно

StreamReader и StreamWriter ми харесаха като вариант. 
Обикновено имам около 900MB свободна RAM. от 4GB. Компютърчето е слабичко. 
Големина на файла около 16 KB

0
kolioi avatar kolioi 641 Точки

Вкарай си текста в една екселска таблица и после си я сортирай, променяй, разделяй и т.н. както си искаш. Става само с няколко кликвания на мишката smiley

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.