powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите со школьной программой на указатели
4 сообщений из 4, страница 1 из 1
Помогите со школьной программой на указатели
    #32213672
Inebs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер.
Задание такое.
Написать программу, формирующую список, указующие поля которого заполняются таким образом, что каждый элемент списка действительно указывает на след. элемент, помещенный в список позже. Т.о. при выводе на экран его элементы должны появиться в том порядке, в котоом заполнялся список.
и надо использовать процедуру вставки элемента в список в произвольную позицию.

Есть пограмма. но при вводе чисел в порядке 1 2 3 ... она выводит 3 2 1. Изменить что-то не получается... Может подскажите?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
program dinlist1;
Uses CRT;
type spisok=^digit;

     digit=record
	  numb:real;
	  next:spisok;
     end;
var
     head:spisok; { начало списка }
     pos:spisok; { начало списка }
     k,n,i:integer;
     L:set of  0 .. 9 ;
{ добавление в начало списка}
procedure AddSpisok(var head:spisok;numb:real);
var
     curr:spisok;
begin
     new(curr);
     curr^.numb:=numb;
     curr^.next:=head;
     head:= curr;
end;


{ вывод списка }
procedure PrintSpisok(p:spisok);
var
     curr:spisok;
begin
     curr:=head;
     while curr<>NIL do begin
	  writeln(curr^.numb );
	  curr:=curr^.next;
     end;
end;

begin
      L:=[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ];
      write('chislo');
      readln(n);
      for i:= 1  to n do
	begin
	  write('vedite ');
	  read(k);
	  if (k in L)
	  then AddSpisok(head,k);
      end;

     writeln('** Введенный список **');
     PrintSpisok(head);
end.

...
Рейтинг: 0 / 0
Помогите со школьной программой на указатели
    #32213690
Inebs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть это задача на "очереди"?
...
Рейтинг: 0 / 0
Помогите со школьной программой на указатели
    #32213700
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты что ее не сам делал ??

ай-яай-яай как нехорошо
...
Рейтинг: 0 / 0
Помогите со школьной программой на указатели
    #32213716
Фотография Alexey Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
program Project1;
uses Crt;
type spisok=^digit;

     digit=record
	  numb:real;
	  next:spisok;
     end;
var
     head:spisok;
     pos:spisok; 
     k,n,i:integer;
     L:set of  0 .. 9 ;

procedure AddSpisok(var head:spisok;numb:real);
var
     curr:spisok;
begin
     new(curr);
     curr^.numb:=numb;
     if head = nil then
       head:= curr
       else
     head^.next:= curr
end;

procedure PrintSpisok(p:spisok);
var
     curr:spisok;
begin
     curr:=p;
     while curr<>NIL do begin
	  writeln(curr^.numb );
	  curr:=curr^.next;
     end;
end;

begin
      L:=[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ];
      write('chislo');
      readln(n);
      for i:= 1  to n do
	begin
	  write('vedite ');
	  read(k);
	  if (k in L) then
            AddSpisok(pos,k);
          if head = nil then
            head:= pos
            else
            pos:= pos^.next
      end;

     writeln('** List **');
     PrintSpisok(head);
     ReadLn
end.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите со школьной программой на указатели
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]