Помощь - Поиск - Пользователи - Календарь
Полная версия: списки. удаление буквы из слов
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Insomnia
program delete_1_bykvy_iz_slov;
// удалить 1_ю букву из всех слов

{$APPTYPE CONSOLE}

uses
SysUtils;

type
Tinfo= string;
TList= ^TElem;
TElem= record
info: Tinfo;
next: TList;
end;

procedure create (var p: Tlist;info: Tinfo);
begin
if p<>nil then create(p^.next,info)
else begin
new(p);
p^.info:=info;
p^.next:=nil;
end;
end;

procedure input (var p: Tlist);
var
ch: char;
s: string;
begin
writeln('input a text, point - end');
read(Ch);
if Ch='.' then begin
writeln('the text are empty');
readln;
readln;
exit
end
else
begin
while Ch<>'.' do
begin
s:=s+Ch;
read(Ch)
end;
readln;
end;
create (p,s);
end;

procedure print (l: Tlist);
var
p: Tlist;
begin
p:=l;
while p<>nil do
begin
writeln(p^.info);
p:=p^.next;
end;
end;



var
L: Tlist;
begin
input(L);
print (L);
readln
end.


не пойму, как мне обратиться к 1 букве. список я правильно создал?
IUnknown
Цитата
список я правильно создал?
Нет. В любом случае неправильно. По двум причинам:

1. Тебе нужен не список, содержащий всю введенную строку за исключением точки, а список, который в качестве элементов содержит слова (то есть, надо разделять введенную строку на слова и хранить каждое из них в отдельном элементе списка. Добавляется одной-единственной строкой: проверкой очередного символа на разделитель между словами, и если да - то записать новое слово в список и "обнулить" временную переменную s).

2. Даже если тебе нужно хранить сразу всю введенную строку в одном-единственном элементе списка (хотя зачем тогда список? Храни просто в строковой переменной), то и тогда это сделано неверно. Потому, что ты не учишься на ошибках. У тебя уже были предупреждения, что переменная может не быть инициализированной, так? Вот здесь - тот же случай: внутри input строка s не инициализируется. Это еще более усугубляется тем, что переменная не глобальная, а локальная, то есть, содержит мусор. Как бы ты правильно не написал create, если ты в нее передашь мусор - то и получишь в результате его же.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.