IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Списки, Не могу понять, что неверно...
Katti
сообщение 28.03.2005 20:18
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


вот условие: Написать программу, которая вставляет в список L овый элемент Е1 за каждым вхождение элемента Е

Код

Program dinam;
Uses crt;
Type
pel=^element;
element = record
num: integer;
next: pel;
end;
Var
first, g,f,r: pel;
a,e,e1:integer;
ok: boolean;
Begin
Writeln ('Введите элементы списка, окончание ввода Ctrl+Z');
Readln (a);
new (first);
first^.num:=a;
first^.next:= nil;
 While not eof do
  begin
  Readln (a);
  new (g);
  g^.num:=a;
  g^.next:= first;
  first:=g;
  end;
  Writeln ('Получившийся список');
  f:=first;
  While f<> nil do begin
  Writeln (f^.num, ' ');
 f:=f^.next;
 end;
 Writeln ('Введите элемент для поиска');
 Readln (e);
 Writeln ('Введите  дополнительный элемент');
 Readln (e1);
 Writeln;
 g:=first;
 ok:=true;
  While ((g<> nil) and ok) do  begin
   if g^.num=e then ok:=false
   else g:=g^.next;
   end;
   While g<> nil do
   if (not ok) then begin
   New(r);
   r^.num:=e1;
   r^.next:=g^.next;
   g^.next:=r;
   end;
   Writeln ('Результат: ');
   f:=first;
   While f<> nil do begin
   Write (f^.num, ' ');
   f:=f^.next;
   end;
   End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Katti
сообщение 29.03.2005 16:04
Сообщение #2





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


вот новая програмка, условие тоже.
Проблема возникает, после того, как вводишь элемент Е1, ничего не происходит, т.е. программа дальше не работает...
Код

Program dinam;
 Type
    pel=^element;
    element = record
    num: integer;
    next: pel;
    end;
Var
  first, g,f,r: pel;
  a,e,e1,i,n:integer;
Begin
 readln(n);
  Writeln ('Введите элементы списка');
   Read (a);
    new (first);
   first^.num:=a;
  first^.next:= nil;
 for i:=1 to n-1 do
    begin
      Read (a);
       new (g);
      g^.num:=a;
     g^.next:= first;
    first:=g;
   end;
  Writeln ('Получившийся список');
   f:=first;
     While f<> nil do begin
       Write(f^.num, ' ');
  f:=f^.next;
    end;
  Writeln ('Введите элемент для поиска');
    Readln (e);
     Writeln ('Введите  дополнительный элемент');
    Readln (e1);
  Writeln;
 f:=first;
    g:=f^.next;
  While (f<> nil) do  begin
      if f^.num=e then
    begin
     New(r);
       r^.num:=e1;
         r^.next:=g;
           f^.next:=r;
         dispose(r);
         end
       else f:=f^.next;
   end;
     Writeln ('Результат: ');
      f:=first;
       While f<> nil do begin
         Write (f^.num, ' ');
         f:=f^.next;
       end;
   End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.03.2005 16:26
Сообщение #3


Гость






Цитата(Katti @ 29.03.05 15:04)
Проблема возникает, после того, как вводишь элемент Е1, ничего не происходит, т.е. программа дальше не работает...

Ничего подобного... Программа даже распечатывает введенный список (только почему-то задом наперед)... blink.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 22:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"