Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Текстовые файлы и Turbo Pascal

Автор: Katonka 17.06.2011 11:48

Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прописных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать все слова, которые встречаются в последовательности по одному разу.

uses crt;
var s : array [1..30] of String[5];
i,j,n:byte;
c:char;
b:boolean;
begin
ClrScr;
n:=1;
write('Enter string: ');
while (n<30)and(c<>'.') do
begin
c:=readkey;
if c=#27 then halt else
if (c in ['A'..'Z'])and(j<5) then
begin
s[n]:=s[n]+c;
write©;
inc(j);
end else
if (c in [',','.'])and(j>0) then
begin
write©;
inc(n);
j:=0;
end else
if (c='.')and(j=0) then c:=#0 else
end;
writeln;
writeln('Result:');
for i:=1 to n do
begin
b:=true;
for j:=1 to n do
if (i<>j)and(s[i]=s[j])then
begin
b:=false;
break;
end;
if b then writeln(s[i]);
end;
readln;
end.

Нужно в етот код внести добавления, чтобы выполнить задание:

Реализовать ввод из текстового файла и обработку символьных последовательностей состоящих из любых символов. В программе должны быть предусмотрены соответствующие процедуры и функции, корректно обрабатывающие входные данные. Результат должен запоминаться тоже в текстовом файле и в понятном для интерпретации виде.

Заранее большое и человеческое спасибо!

Автор: Lapp 17.06.2011 14:18

Цитата(Katonka @ 17.06.2011 8:48) *
Нужно в етот код внести добавления, чтобы выполнить задание:

А почему именно в _этот_ код - и такие исправления?..

Автор: Katonka 17.06.2011 14:40

Цитата(Lapp @ 17.06.2011 11:18) *

А почему именно в _этот_ код - и такие исправления?..



Ну у меня есть 2 лабораторные работы. Первая лабораторная: написать етот код. (задание к ней написано в верхней части перед кодом. Она выполнена правильно. Задание второй работы такое же как и в первой, но с добавленой нижней частью (Текст после кода). помогите пожалуйста....

Автор: Lapp 17.06.2011 14:46

Цитата(Katonka @ 17.06.2011 11:40) *
Ну у меня есть 2 лабораторные работы. Первая лабораторная: написать етот код. (задание к ней написано в верхней части перед кодом. Она выполнена правильно. Задание второй работы такое же как и в первой, но с добавленой нижней частью (Текст после кода). помогите пожалуйста....

А.. то есть, первый код ты сама написала?

Автор: Katonka 17.06.2011 14:59

Цитата(Lapp @ 17.06.2011 11:46) *

А.. то есть, первый код ты сама написала?


ну можно и так сказать)))

Автор: TarasBer 17.06.2011 15:13

> Нужно в етот код внести добавления, чтобы выполнить задание:

А можно вносить не только добавления, но и удаления?
Первую строчку неплохо бы удалить, например.

Для того, чтобы ввод и вывод делался из текстовых файлов, надо в начале программы (после главного бегина) написать

Assign(input, 'task2.in');
Reset(input);
Assign(output, 'task2.out');
Rewrite(output);

А в конце программы написать

Close(input);
Close(output);

Автор: Katonka 17.06.2011 15:28

Цитата(TarasBer @ 17.06.2011 12:13) *

> Нужно в етот код внести добавления, чтобы выполнить задание:

А можно вносить не только добавления, но и удаления?
Первую строчку неплохо бы удалить, например.

Для того, чтобы ввод и вывод делался из текстовых файлов, надо в начале программы (после главного бегина) написать

Assign(input, 'task2.in');
Reset(input);
Assign(output, 'task2.out');
Rewrite(output);

А в конце программы написать

Close(input);
Close(output);


Все сделал как вы и сказали. "Ошибка: Неизвестный идентификатор Input''. Не подскажете, как исправить?

Автор: Krjuger 17.06.2011 16:11

input,output надо описать как file of,а дальше чего тебе угодно например :


var
input,output: file of char;


Автор: Katonka 17.06.2011 16:59

Преогромнейшое спсибо за помощь! Все получилось, все работает!

Автор: TarasBer 17.06.2011 17:03

> Ошибка: Неизвестный идентификатор Input

Не понял, это что за компилятор у тебя такой?

> input,output надо описать как file of,а дальше чего тебе угодно например :

Неправильно.


var
input, output: text;


Автор: Lapp 18.06.2011 2:28

Как все запущено.. (С)
Зачем советовать начинающему переопределять стандартный ввод/вывод?? blink.gif Чтоб он получил массу удовольствия от разнообразных "особенностей поведения" на разных версиях компилятора?.. А также от препода.. И чтоб уж навсегда отрубил себе возможность ввода с клавы.. Так, что ли?

Katonka, вместо input и output рекомендую тебе использовать любые другие слова - например, Fin и Fout. Опиши их как text и используй стандартный текстовый ввод/вывод. Пропиши явно файл в каждом операторе ввода/вывода.
Покажи, что у тебя там "работает". Подозреваю, что нужно исправлять..