|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
06.05.2008, 23:07 | #1 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 22
|
Помогите решить 3 задачи
Вообщем ребята прошу, помогите решить задачи, мне просто очень нужно помочь человеку, сам я знаю только Basic, но может быть здесь кто то знает Паскаль, если да, и вам не в лом помочь, напишите пожалуйста
1.Описать процедуру, которая переворачивает список L, т.е. изменяет ссылки в этом списке так, чтобы его элементы оказались расположены в обратном порядке и подсчитывает число вхождений элемента E в список L. 2.Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей. (файлы записей) 3.Выдать сведения об учениках 9-х и 10-х классов, поместив вначале сведения об учениках классов 9а…9б..., а затем 10а...10б… (записи) |
07.05.2008, 14:55 | #2 |
Регистрация: 07.05.2008
Сообщений: 3
|
1) Изначально нужно объявить тип, так как в ТуброП параметры процедур или функций не могут быть нетипизированными массивами:
Код:
Код:
Сейчас думаю над вторым. Может быть, также выложу решение |
07.05.2008, 15:27 | #3 |
Регистрация: 07.05.2008
Сообщений: 3
|
2)
Код:
|
09.05.2008, 20:09 | #4 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 22
|
1) В первой там надо полностью программу, чтоб работала, так непонятно((
2)Во второй пишет File not found. Где там надо файл создать? 3) В третьей дана фамилия и балл, вводятся данные с клавиатуры. type tsotr=record fam:string; ball:string; klass:string; bukva:integer; end; var f:file of tsotr; i,n:integer; l:tsotr; s:string; begin s:='c:/fff.txt'; assign(f,s); rewrite(f); writeln('n'); readln(n); for i:=1 to n do begin writeln('vvedi fam'); readln(l.fam); writeln('vvedi ball'); readln(l.ball); writeln('vvedi klass'); readln(l.klass); writeln('vvedi bukva'); readln(l.bukva); write(f,l); end; close(f); reset(f); for i:=1 to n do begin read(f,l); if ????????? then writeln(??????); end; close(f); end. Как вывести именно в порядке 9а..9б…, 10а…10б ? 3) Дан txt файл. Преобразовать строки файла, удалив после каждой цифры символ, если этот символ не буква. Var f:text; j,i,n:integer; z,s:string; begin s:='c:\f.txt'; assign(f,s); rewrite(f); readln(n); for i:=1 to n do begin readln(z); write(f,z); end; close(f); rewrite(f); while not(eof(f)) do begin read(f,z); for j:=1 to length(z) do if (z[j]>='0') and (z[j]<='9') then begin if not((z[j+1]<='Z') and (z[j+1]>='A')) then delete(z,j+1,1); write(f,z); end; end; close(f); reset(f); while not(eof(f)) do begin read(f,z); write(z); end; close(f); end. Пишет Fail not open for input. Где в программе ошибка? Помогите, пожалуйста........ |
09.05.2008, 21:25 | #5 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
В суть преобразований не вникал, но по работе с файлами надо так:
Код:
|
09.05.2008, 21:42 | #6 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 22
|
Спасибо, но всё равно не работает. Указывает на ошибку в этой строчке. Пишет Fail not open for input.
Var f:text; j,i,n:integer; z,s:string; begin s:='c:\f.txt'; assign(f,s); rewrite(f); readln(n); for i:=1 to n do begin readln(z); write(f,z); end; close(f); reset(f); while not(eof(f)) do begin read(f,z); close(f); for j:=1 to length(z) do if (z[j]>='0') and (z[j]<='9') then begin if not((z[j+1]<='Z') and (z[j+1]>='A')) then delete(z,j+1,1); rewrite(f); write(f,z); end; end; close(f); reset(f); while not(eof(f)) do begin read(f,z); write(z); end; close(f); end. |
09.05.2008, 22:51 | #7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Переделал код вашей последней программы. Во-первых, файл должен быть уже создан до пуска прграммы.
Код:
Последний раз редактировалось puporev; 10.05.2008 в 06:46. Причина: Исправил ошибку в программе (список букв) |
10.05.2008, 09:50 | #8 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 22
|
Спасибо ещё раз! Но когда я нажимаю на запуск программы, Паскаль сразу выдает Fail f perezapisan! и всё...может что-то там не так...я уже не знаю...
|
10.05.2008, 13:10 | #9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Все правильно, ведь на экран ничего не выходит, все записывается в файл. Находите этот файл, открывайте и любуйтесь. Согласно предложенному Вами пути, он находится на диске С. Если Вы хотите видеть файл до перезаписи и после, то вам надо создать второй файл, хотя по условию задачи еужно именно перезаписать существующий. Если все же захотите второй файл, то нужно написать следующее.
Код:
Последний раз редактировалось puporev; 10.05.2008 в 13:29. |
10.05.2008, 14:49 | #10 |
Пользователь
Регистрация: 06.05.2008
Сообщений: 22
|
Спасибо огроменное!!! Наконец-то работает, просто не надо в Паскале вводить строки, а сразу в файле они и потом преобразовываются. Спасибо!
А можете, если Вам не сложно, посмотреть ещё одну: Выдать сведения об учениках 9-х и 10-х классов, поместив вначале сведения об учениках классов 9а…9б..., а затем 10а...10б… (записи) Дана фамилия и балл, вводятся данные с клавиатуры. type tsotr=record fam:string; ball:string; klass:string; bukva:integer; end; var f:file of tsotr; i,n:integer; l:tsotr; s:string; begin s:='c:/fff.txt'; assign(f,s); rewrite(f); writeln('n'); readln(n); for i:=1 to n do begin writeln('vvedi fam'); readln(l.fam); writeln('vvedi ball'); readln(l.ball); writeln('vvedi klass'); readln(l.klass); writeln('vvedi bukva'); readln(l.bukva); write(f,l); end; close(f); reset(f); for i:=1 to n do begin read(f,l); if ????????? then writeln(??????); end; close(f); end. Как вывести именно в порядке 9а...9б…, 10а…10б ? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите решить задачи!!! | black_soul | Фриланс | 13 | 21.07.2008 09:22 |
Помогите решить задачи | Andyst | Помощь студентам | 3 | 25.12.2007 15:14 |
ПОМОГИТЕ РЕШИТЬ ЗАДАЧИ С++ | lawny | Фриланс | 1 | 24.12.2007 20:58 |
Помогите решить две задачи на С/С++ | Сема | Помощь студентам | 3 | 24.12.2007 07:31 |
Помогите решить задачи! | Вилен | Помощь студентам | 2 | 10.10.2007 23:12 |