PDA

Просмотр полной версии : H


Тарифы: МТС, Билайн, МегаФон
Выгодные непубличные тарифы МТС, Билайн, МегаФон, Безлимитный интернет ✅
Нормальный бандит
11-01-2005, 00:10
Короче

Нормальный бандит
11-01-2005, 00:16
Для тех кто не понял, что делает прога вот формулировка задачи:

Дан текстовый файл. Записать все строки файла в новый файл, изменив порядок
следования букв в каждой строке на противоположный.

Если хотите запустить в паскакале создайте на диске с: текстовый документ "text" и накалякайте что-нибудь

Junior
11-01-2005, 00:49
В паскале совсем не шарю, но что-то вроде понял:

n-длинна слова,а не текста
i - номер слова
k- как ты и сказал порядковый номер буквы в данном слове

дальше разберешся?
Если что могу подробнее написать

Нормальный бандит
11-01-2005, 00:58
Ты просто МОЗГ!!!Спасибо!А F и F1?

Neyron81
11-01-2005, 01:06
n - длинна не слова, а строки
i, как впрочем и к не номер слова а номер буквы, при чем i+k это не две буквы !)))))) а номер ( в данном случае буквы) = сумме i+k
и вообще возьми самоучитель.
в библиотеке за пол часа сам все разберешь

Bassliner
11-01-2005, 01:10

Вощим,
s,s1:array[1..100] of string;
Здесь у тя описание переменных строк текста
s- исходного s1- результата

и s и s1 представляют собой таблицы типа:

xxxxxxx
yyyyyyy
zzzzzzz
............


под них определено 100 строк разной длины (ограничение длины строки по умолчанию 255)



В процессе работы открывается файл text
Assign(F,'c:\text.txt');
ReSet(F);

в таблицу считывается его содержимое построчно начиная с первой строки

i:=1; {типа першли к первой строке таблицы }
while not EOF(F) do {здесь проверка достижения конца
файла и выхода из цикла обработки }

begin {начало цикла обработки}

Readln(F,s[i]); n:=Length(s[i]); {считали i-ю строку текста в i-
ю строку таблицы s,
определили ее длину }
for k:=1 to n do {здесь начинаем работать
непосредственно со строкой,
т.е. перебирая символы от
первого до n-го, где n-Длина
строки}

begin
s1[i,k]:=s[i,n-k+1]; s1[i]:=s1[i]+s1[i,k];{ здесь берем (n-k+1)-й
символ
текущей i-й строки
таблицы s и втыкаем
на место k -го символа
текущей i-й строки
таблицы s1 и
формируем новую
строку s1 где символы
располагаютя в
порядке обратном
расположению в
строке s }
end;
Writeln(F1,s1[i]); {пишем строчку вновый файл}
i:=i+1; {переходим к следующей строке}
end;


i1 не используеца.... :D

Junior
11-01-2005, 01:14
Что-то типа того, что ассоциируем текстовую переменную F - c файлом 'c:\text.txt', и F1 с 'c:\text1.txt'
- посмтори в хелпе Паскалевском по текстовым переменным и команде Assign, а то и меня паскаля не ма

Что делает команда ReSet - не знаю

ReWrite(F1); - обновляем файл text1.txt,
далее
инициализируем переменную i,
запускаем цикл do while...

Neyron81
11-01-2005, 01:20
ReSet(F);- открытие файла на чтение
ReWrite(F1); - открытие файла на запись.

Нормальный бандит
11-01-2005, 01:24
так кто точно скажет?Мне не надо объяснять как что работает, меня интересует какая переменная что означает вот.

Junior
11-01-2005, 01:31
Вот Neyron81 уж вроде все объяснил
F и F1 текстовые переменные - в первую записан адрес файла text.txt, во вторую text1.txt - коль говоришь, что понимаешь как все работает - дальше писать не буду )

Нормальный бандит
11-01-2005, 01:52
а какие они переменные(F и F1)-"внутренние" или "входящие"?

Нормальный бандит
11-01-2005, 02:47
а как goto мне сделать? (для др. проги уже)

meloman-13
02-02-2005, 00:39
после раздела var (после объявления переменных)
пишешь:
label имя_метки;
В тексте программы пишешь:
begin
...........
имя_метки:
................
end.
При использовании слова goto ( goto имя_метки; )
выполняется следующий после имени метки(указанной с : ) оператор

meloman-13
02-02-2005, 00:43
2 Нормальный бандит
RTFM :D

Kolos
02-02-2005, 01:24
ребят, чтоп прога работала и нормально, и чтоп можно было ее прочитать, тем более не автору а тому кого он просит, порга должна быть красиво написана, или хотя бы с применением элементарных прафил оформления.


s1[i,k]:=s[i,n-k+1];
s1[i]:=s1[i]+s1[i,k];

а фот это шня точно не рабочая, тебе ее даже компилятор не пропустит



з.ы. заипали эти программеры :D

Kolos
02-02-2005, 01:29
а вообще операторои "пыди на" уже давным давно не пользуюцца
з.ы. ну ессна на жэвэбэйсике его всетаки юзают :D

Exi
02-02-2005, 02:14
Ну нифига себе!
А мы вот в универе все букашек-таракашек, гистологию да пласты земли изучаем...

D-Low
06-02-2005, 21:44
F и F1 - это файловые указатели.
И при использовании команд Readln и Writeln, если у нас добавляется еще один параметр (указатель на файл), то считывание/запись происходит из/в файл(а). Но они никак не содержат адрес файлов, не зря у нас есть строчки типа Assign(F,'c:\text.txt');, где как-раз и происходит ассоциирование или хрен знает, как сказать, думать не охота, ну в общем ассоциирование указателя на файл и адреса файла.

Kolos
08-02-2005, 10:54
наерное это интересней чем битики и байтики :rolleyes: