|
|
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
Дан текстовый файл F. Длина каждой строки не превосходит 80 символов. Дополнить короткие строки справа символом '.' так, чтобы их длина была 80. как строку определять? как дополнить в паскале? зарание спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 11:19:36 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989Дан текстовый файл F. Длина каждой строки не превосходит 80 символов. Дополнить короткие строки справа символом '.' так, чтобы их длина была 80. как строку определять? как дополнить в паскале? зарание спасибо... в таком-то возрасте пора знать ))) что в школе делал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 13:56:41 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989, считываем строчку str из файла while length(str)<80 do str:=str+'.'; работу с файлом описывать не буду, а то совсем не интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 15:08:04 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
DmitryFedotovalex1989, считываем строчку str из файла while length(str)<80 do str:=str+'.'; работу с файлом оп4исывать не буду, а то совсем не интересно A Concat и FillChar отменили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 15:41:02 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
Гы, Во-первых, как написать одну строчку кода разницы нет - меньше она не станет (хотя вызов процедуры происходит дольше), а во-вторых вопрошателю, насколько я понял, надо предельно просто, чтобы в голове осталась полезная информация, а не каша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:20:12 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
Program tochki; Var str:string[80]; f2:text; BEGIN Assign(f2,'C:\BP\BIN\F.txt'); Rewrite(f2); While Length(str)<80 do str:=str+'.' ; Write(f2,str) ; Close(f2); end. он выводит только точки 80 символов... а все в файле удаляет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:26:19 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989Program tochki; Var str:string[80]; f2:text; BEGIN Assign(f2,'C:\BP\BIN\F.txt'); Rewrite(f2); While Length(str)<80 do str:=str+'.' ; Write(f2,str) ; Close(f2); end. он выводит только точки 80 символов... а все в файле удаляет... ))) немного смешно... Ты строку забыл с файла считать ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:30:02 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
А кто считает строку из файла? К тому же какой string[80]? Не путайте с с++, это уже строковый объект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:30:47 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
ладно, сделаю скидку на то, что человек только начинает обучение )) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. прошу не ругать если что не так ))) Просто я писал как можно проще ))) P.S. Хотя лучше учиться не на форуме, а по книжкам )) или если есть возможность то найти статьи для начинающих в нэте ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:39:35 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
Програмёр, чет не врублюсь... не подскажешь куда что добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:40:04 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
чет он вообще удаляет все и ничего не выводит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:46:23 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989чет он вообще удаляет все и ничего не выводит) ))) извини... забыл что нельзя файл открывать для двух задач одновременно... ща перепишу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:49:00 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
вобщем поменяй Assign(f2,'C:\BP\BIN\F.txt'); на Assign(f2,'C:\BP\BIN\F1.txt'); )) или обязательно в тот же файл дописать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:00:49 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
Програмёр, помоему в тот же надо... еще вопрос можна?) Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных нечетных элементов. Определить номер строки с наименьшей характеристикой. program ttt; uses crt; const m=4; n=4; var A:array[1..M,1..N] of integer; s,i,j: integer; begin clrscr ; s:=0; for j:=1 to m do begin for i:=1 to m do вот тут что писать чтобы нашел строку... end; end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:08:00 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989 Поверьте моему скромному опыту-выделяйте блоки отступами, это сэкономит вам кучу времени и нервов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:09:27 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989 помоему в тот же надо... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. тогда вот так :) (пример рабочий на фри паскале 2.2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:12:37 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989, Естественно, ты используешь rewrite, который создает и открывает созданный файл, а надо использовать reset, более того ты ничего из файла не читаешь program tochki; var str: string[80]; f2,ftemp:text; begin assign(f2, 'c:\test.txt'); assign(ftemp, 'c:\test1.txt'); reset(f2); rewrite(ftemp); while not eof(f2) do begin readln(f2, str); while length(str) < 80 do str:=str+'.'; writeln(ftemp, str); end; close(f2); erase(f2); rename(ftemp, 'c:\test.txt'); close(ftemp); end. возможно не самый оптимальный код (давно с файлами не работал), но работает. Вообще, такие вещи надо изучать самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:34:46 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
alex1989, не надо злоупотреблять добротой участников форума, это задачки для начинающих программистов - посиди ночку с книжкой и, если захочешь, то поймешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:41:42 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
DmitryFedotovalex1989, не надо злоупотреблять добротой участников форума, это задачки для начинающих программистов - посиди ночку с книжкой и, если захочешь, то поймешь. Для программистов высокой квалификации они уже не под силу. Это как у неправильно подготовленного (натасканного) учащегося - сложные задачи решать может, а простые - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 18:14:17 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
DmitryFedotovalex1989, Естественно, ты используешь rewrite, который создает и открывает созданный файл, а надо использовать reset, более того ты ничего из файла не читаешь program tochki; var str: string[80]; f2,ftemp:text; begin assign(f2, 'c:\test.txt'); assign(ftemp, 'c:\test1.txt'); reset(f2); rewrite(ftemp); while not eof(f2) do begin readln(f2, str); while length(str) < 80 do str:=str+'.'; writeln(ftemp, str); end; close(f2); erase(f2); rename(ftemp, 'c:\test.txt'); close(ftemp); end. возможно не самый оптимальный код (давно с файлами не работал), но работает. Вообще, такие вещи надо изучать самому. ))) как-то странно... Код почти идентичен тому что дал я (то есть смысл было его переписывать?), да ещё и не рабочий )))) (по крайней мере у меня, но не думаю что только у меня). Команду rename(ftemp, 'c:\test.txt'); можно использовать только после закрытия файла )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 12:16:52 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
ПрограмёрDmitryFedotovalex1989, Естественно, ты используешь rewrite, который создает и открывает созданный файл, а надо использовать reset, более того ты ничего из файла не читаешь program tochki; var str: string[80]; f2,ftemp:text; begin assign(f2, 'c:\test.txt'); assign(ftemp, 'c:\test1.txt'); reset(f2); rewrite(ftemp); while not eof(f2) do begin readln(f2, str); while length(str) < 80 do str:=str+'.'; writeln(ftemp, str); end; close(f2); erase(f2); rename(ftemp, 'c:\test.txt'); close(ftemp); end. возможно не самый оптимальный код (давно с файлами не работал), но работает. Вообще, такие вещи надо изучать самому. ))) как-то странно... Код почти идентичен тому что дал я (то есть смысл было его переписывать?), да ещё и не рабочий )))) (по крайней мере у меня, но не думаю что только у меня). Команду rename(ftemp, 'c:\test.txt'); можно использовать только после закрытия файла )) 1. Я и не переписывал, просто пока оформлял ответ, добавились другие (не обновил страницу) 2. У меня все прекрасно отрабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 09:12:04 |
|
||
|
Паскаль
|
|||
|---|---|---|---|
|
#18+
DmitryFedotov 1. Я и не переписывал, просто пока оформлял ответ, добавились другие (не обновил страницу) 2. У меня все прекрасно отрабатывает. Ну... у меня тоже отрабатывает, только не прекрасно ;) На выходе у меня получается файл test1.txt, а не test.txt . команда rename при открытом файле обычно (по описаниям в нэте и у меня самого) не срабатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 11:46:22 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35825265&tid=1344645]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 523ms |

| 0 / 0 |
