![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.12.2013
Сообщений: 26
|
![]()
Здравствуйте! Не могу понять, как организовать алгоритм, пол дня уже просидел.
Заранее спасибо за помощь! Под x86. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..и чё, нашёл алгоритм?
Ну с первой строкой нет проблем, а вот с последней - напряг. Если вводить текст в самой программе, то можно будет установить режим (пусть будет 80х25) и вычислить общее кол-во строк/символов в тексте. В этом случае легко узнать, сколько символов в последней строке (если строка не полная). Условие точно такое, как ты написал? Может нужно поменять первое предложение с последним?
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 07.12.2013
Сообщений: 26
|
![]()
Да с логикой я разобрался. Только проблем много с кодом. На самом деле можно просто узнать размер файла, динамически выделить сегмента памяти такого же размера, потом считать туда файл, а дальше уже цикл по поиску символа переноса каретки, так мы узнаем начало и конец первой строки; зная адрес конца нашего файла в области, мы можем в цикле с декрементацией адреса найти начало последней строки. А вычисляем размер последней строки, вычитая из адреса конца адрес начала строки, и с адреса начала начинаем записывать такое количество байтов, которое соответствует размеру строки. А дальше всё и так понятно. :3
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..ты думаеш этот символ там есть? Если при создании файла юзер не ввёл его, то переноса каретки и не будет.
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.12.2013
Сообщений: 26
|
![]()
Ну тогда файл будет в одну строку.
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
Открой текстовый редактор 'AkelPad', нажми какую-нить клавишу и держи секунд(10). Теперь жми [Ctrl+U] и увидиш, что текст расположиться или в одну строчку или с "переносом по-словам", которые подставит сам текстовый редактор.
Можно-ли надеяться на его перенос - точно не знаю, нужно тестить. Но если ты сам будеш нажимать по-окончании строки "Enter", то это будет надёжней и может послужить тебе фактором для начала строки..
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 30.03.2015
Сообщений: 17
|
![]()
Под DOS пишешь ?
Объем файла какой? Строки плавающей длины или фиксированной ? если что под dos могу помочь |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 07.12.2013
Сообщений: 26
|
![]()
Под dos. Да обычная универская задачка. Строки разной длины, объём файла, хм..., если что, то можно уведомить пользователя об ограничениях по размеру файла-ничего страшного. У меня есть набросок, но он косячный слишком.
Последний раз редактировалось V-alterman; 23.05.2015 в 23:50. |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..скинь сюда его, посмотрим.
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 07.12.2013
Сообщений: 26
|
![]()
Даже стыдно как-то такое показывать, мы просто пишем на ассемблере месяца 2 всего.
Код:
Последний раз редактировалось V-alterman; 24.05.2015 в 11:30. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В текстовом файле найти все слова, совпадающие с заданным пользователем и поменять их местами с соседними справа словами ( c# ) | CROWN | Помощь студентам | 4 | 24.12.2014 15:57 |
Поменять местами первую и последнюю , вторую и предпоследнюю и т.д цифры числа | Kat9 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.05.2013 14:35 |
подпрограмма поменять местами первую и последнюю строки (C#) | RIOs | Помощь студентам | 1 | 05.07.2012 22:36 |
Удалить из строки S1 первую, последнюю, все подстроки совпадающие с S2 | ТРОЯН=) | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 10.12.2008 23:28 |
Как поменять строки в текстовом файле местами | _ares_ | Помощь студентам | 8 | 13.11.2007 02:14 |