Сортировка списка номеров телефонов в СИ

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Huracan
Сообщения: 1
Зарегистрирован: 17 ноя 2016, 06:35

17 ноя 2016, 06:47

Привет, друзья-программисты!
Очень нужна Ваша помощь! Не так давно в сфере программирования, должен написать курсовую. Требуется создать программу в СИ, которая должна осуществлять сортировку списка номеров телефонов, результаты сортировки записывать в выходной файл. Номера телефонов-десятичные.
И так, что имеем:
Входной файл имеет следующий формат:
N1, S1
N2, S2
...
где N1,N2,.., - номера телефонов, S1,S2,..., - текстовые комментарии.
Буду очень признателен любой помощи. Может подскажете что, а может и самый добрый человек на Земле напишет программу :)
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

18 ноя 2016, 22:51

Чистый С или всё же С++?

Готов оказать всяческую помощь, кроме полного написания программы.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Сионист
Сообщения: 1077
Зарегистрирован: 31 мар 2014, 06:18

02 апр 2017, 17:41

Ну для начала количество телефонов известно заранее, или его надо определить динамически? Каков ожидаемый порядок величины количества телефонов? А то кто нибудь напишет пузырьковую сортировку, а потом окажется, что сортировать надо полный телефонный справочник Индокитая (уже более двух миллиардов человек) после его полной телефонизации (соответственно телефонов тоже более шестисот миллионов). А он квадратичный, 600 000 000 в квадрате - это уже 360 000 000 000 000 000. Даже при 300 пикосекунд на один шаг цикла уже будет более трёх тысяч лет, а на шаг тратится заведомо больше одной операции, а значит и такта. И мне не известно о существовании его параллельных версий. Да и не похоже, что его можно параллелить. Есть ли в номерах пробелы, дефисы и прочие разделители? Выделены ли коды (сетей, городов...) скобками? А начинающиеся с плюса коды стран надо поддерживать? Требуется ли хватать файл целиком и потом парсить в номера, или можно парсить построчно, а следующую строку грузить после парсинга предыдущей? Как переводятся строки? Одним управляющим символом или двумя? Каким? Или какими и в каком порядке? Или надо поддерживать несколько вариантов? Перечислите их.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

02 апр 2017, 19:01

Ты правда думаешь, что это интересно человеку, спустя год?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить