Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
pelele
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
#1

Сортировка символов в файле - C++

06.01.2010, 16:40. Просмотров 1105. Ответов 5
Метки нет (Все метки)

Люди добрые! Помогите с решение задачи
У меня что-то даже и идеи нет, как ее реализовать
Помогите кто, пожалуйста

Бинарный файл содержит произвольные данные. Упорядочить символы в файле так, что бы сначала
располагались заглавные буквы латинского алфавита, затем цифры и, в конце, строчные
буквы латинского алфавита. Остальные символы из файла удалить.

Думаю рассматривать как строки, но все равно в ступоре сижу... Не знаю с чего и начинать...

Спасиб большое заранее!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 16:40     Сортировка символов в файле
Посмотрите здесь:

Подсчет символов в файле - C++
Нужно найти сколько в файле букв (а,б,в...) алфавита. Не могу понять как делать. Начал с самого простого char alphabet = { 'А',...

Подсчет символов в файле - C++
Дан текстовый файл, где в первой строке введено некоторое число N. Во второй строке находятся N элементов(чисел), введенных через пробелы....

добавление символов в файле - C++
подскажите как добавить в файле ,символ в начале и в конце строки,а также символ в пустой строке,например: было так В этом...

Замена символов в файле - C++
кто нибудь может написать код программы : с консоли ввести путь к файлу и задать три группы по два любых символа ( например a-b, g-k, 1-3)....

Шифрование символов в файле - C++
День добрый! Проблема такова: Есть файл содержащий исходный набор символов(текст, строки и т.д.). нужно составить программу для...

Подсчет символов в файле - C++
Всем привет! Прошу помощи) Надо написать программу, суть которой заключается вот в чем: программе дается файл *.txt, она считывает его...

Подсчёт символов в файле. - C++
Подскажите как посчитать количество символов в текстовом файле, какие функции для работы с файлами нужно использовать? Язык Си.

Сортировка в файле - C++
Сформировать файлы f1 и f2, компоненты которых - целые числа, упорядоченные по возрастанию. Получить в файле f3 все числа из файлов f1 и f2...

Поиск и замена символов в файле - C++
Добрый вечер(день)! Пытаюсь разобраться с задачей, есть файл в нем нужно найти слово и заменить на другое,замена может быть разной длины и...

Подсчёт символов пробел в файле - C++
Добрый вечер, подскажите, чем может быть вызвана данная ошибка и как её можно решить(на скриншоте) 41 строка : ...

Подсчитать количество символов в файле - C++
Функция while(f.eof()) насколько я помню обозначает сделать то то пока не будет конец файла. Я ввел счетчик ,что бы узнать сколько символов...

Статистика встречаемости символов в файле - C++
В файле содержится какое либо сообщение, предложение или много предложений. Необходимо подсчитать количество каждого встречаемого символа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
06.01.2010, 16:54     Сортировка символов в файле #2
читаешь файл в память и сортируешь.
qsort()
std::sort()
GRANDEATH
39 / 39 / 1
Регистрация: 13.09.2009
Сообщений: 108
06.01.2010, 18:26     Сортировка символов в файле #3
Если файл большой создай ещё один файл и туда сразу пиши как надо. Потом старый сотрешь, если надо. Я бы рекамендовал сдалать так:
1. Создать одномерный массив размера 26+10+26 (Вроде 26 букв в англ. алфавите)
2. Обнулить массив
int data[26+10+26] = {0};

3. Пробегаешь от начала файла и до конца файла, увечичивая счетчик соответствующей буквы на 1
C++
1
2
3
4
5
6
if (c >= 'A' && с <= 'Z')
data[c-'A']++;
if (c >= '0' && с <= '9')
data[c-'0'+26]++;
if (c >= 'a' && с <= 'z')
data[c-'a'+26+10]++;
В результате имеем массив где записано кол-во символов каждого вида. А потом просто запишем в файл эти символы.
C++
1
2
3
for (int i = 0; i <= 26; i++)
while (data[i]--)
//Вывод в файл символа с кодом 'A' + i
Все..И быстро и надежно.
pelele
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
06.01.2010, 22:00  [ТС]     Сортировка символов в файле #4
Ну.. не очень понятно, как с массивом, но ладно)) может быть дойдет) вопрос: как удалять лишнее после сортировки?)
GRANDEATH
39 / 39 / 1
Регистрация: 13.09.2009
Сообщений: 108
07.01.2010, 08:11     Сортировка символов в файле #5
Лишние что? Символы в файле?
ОК. Объясню массив поподробнее.
У тебя есть массив с именем data. У тебя есть файл, который предположим содержить следущее (что содержит - не важно, главное - принцип)
Пример файла
AA(*&^^&A(*&*(123*&*

У тебя в массив сохранится кол-во букв каждого типа, которое присутсвует в файле, то есть data[0] = 3;
0 - потому что сначала идут заглавные буквы, потом цифры, потом маленькие буквы.
А буква 'A' стоит прежде всех. data[26+1] = 1; // Содержится только одна 1
data[26+2] = 2; //Содержится только одна 2 в файле.

На выходе получаем массив, хранящий КОЛИЧЕСТВО букв каждого типа: сначала идут заглавные ( индексы от 0 до 25), потом цифры (индексы от 26 (код 0) до 26+10 (код 9)), потом маленькие буквы.

Уже при вводе все остальное игнорится. Поэтому после того как получила этот массив
1. Очищаешь файл
Функция вроде функции для очистки содержимого файла
ну или гугл в помощь
2. А потом уже записываешь в чистый файл свои буковки. То есть в случае этого примера, записать сначала три 'A', затем '1', затем '2', потом '3'. Задача так стоит?
pelele
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
07.01.2010, 12:09  [ТС]     Сортировка символов в файле #6
Да!! Спасибо огромное за помощь!
Yandex
Объявления
07.01.2010, 12:09     Сортировка символов в файле
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru