Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 3
Регистрация: 12.12.2012
Сообщений: 33
1

списки

12.06.2013, 22:21. Показов 337. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, пожалуйста, если можете, помогите, мне завтра сдавать, я у меня программа работает не совсем так, как нужно. Прожка со списками, вот задание: Задан массив целых чисел. Разместить четные числа этого массива в двунапрвленный список в порядке убывания, а потом напечатать их в порядке возрастания.
Я сделала, но я сначала создаю массив, а потом все это записываю в список, а преподу не понравилось, нужно, чтобы сразу список создавала, как это сделать, не имею представлени...ПОМОГИТЕ, ПОЖАЛУЙСТА!)
Pascal
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Program Practika_6;
uses CRT;
 
const nMax = 50;
 
type  Massiv = array [1..nMax] of integer;
 
    plist = ^tList;
    tList = record
      info : integer;
      Prev, Next : pList;
    end;
 
var
   Mas : Massiv;
   i, iMax : integer;
   start : plist;
   f:text;
 
   procedure Sort(var a : Massiv; n : integer);
   var
      j, k, tmp : integer;
 
   begin
     for j := 1 to n-1 do
       for k := 1 to n-1 do
       begin
         if a[k] < a[k+1] then
         begin
           tmp := a[k];
           a[k] := a[k+1];
           a[k+1] := tmp;
         end;
       end;
   end;
                              {Вставляет подстроку в строку}
   procedure Insert(var Head : pList; Prv : pList; info : integer);
                                {создает элементы}
     procedure CreateElement(var Element : pList; p : pList; inf : integer);
     begin
       New(Element);
       Element^.info := inf;
       Element^.Prev := p;
       Element^.Next := nil;
     end;
 
   begin
     if Head = nil then CreateElement(Head, Prv, info)
     else Insert(Head^.Next, Head, info);
   end;
 
  procedure Print(Head : pList);
  var
     Temp : pList;
 
  begin
    if Head^.Next <> nil then Print(Head^.Next)
    else
    begin
      Temp := Head;
      while Temp <> nil do
      begin
        Write(Temp^.info, '; ');
        Temp := Temp^.Prev;
      end;
    end;
   {Temp := Head;
    While Temp <> nil do
    begin
      Writeln(Temp^.Data);
      Temp := Temp^.Next;
    end;}
  end;
 
begin
  Randomize;
  repeat
    ClrScr;
    Assign(f, 'f.txt');
    Reset(f);
    i:=1;
    While not Eof(f) do
    begin
     read(f,Mas[i]);
     if Mas[i] mod 2=0 then
 
     i:=i+1;
    end;
    iMax:=i-1;
 
 
  until iMax in [1..nMax];
  WriteLn;
  Writeln('Вывод только четных чисел из файла:');
 
 
  for i := 1 to iMax do
  begin
 
    Write(Mas[i], '; ');
  end;
  Sort(Mas, iMax);
 
  WriteLn;
  WriteLn;
  Writeln('Четные числа в порядке убывания:');
  for i := 1 to iMax do
  begin
    Write(Mas[i], '; ');
    Insert(start, nil, Mas[i]);
  end;
  WriteLn;
  WriteLn;
  Writeln('Четные числа в порядке возрастания:');
  Print(start);
  ReadLn;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 22:21
Ответы с готовыми решениями:

Двунаправленные списки
type zapis=record famil:string; name:string; otch:string; fakul:string; ...

Двухсвязные списки
Всем привет, незнаю как решать, а сдавать скоро... помогите кому не сложно, плюсик поставлю:p С...

Динамические списки
1)задача. процедуры: • создания динамического линейного списка, выбирая числа из текстового...

Списки. Разность элементов
Нужно организовать список, состоящий из разностей соседних элементов предыдущего списка. ...

0
12.06.2013, 22:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 22:21
Помогаю со студенческими работами здесь

Списки!Ошибка в программе...
Помогите разобраться....что-то тут не работает....выдаёт ошибку.... uses crt; type...

Двунаправленные связные списки
Помогите написать программу на TurboPascal для двунаправленных связных списков, она должна...

Списки с двойной связью
помогите сделать блок схему вот код: uses wincrt; type telem=integer; Tlist=^tnode; ...

Списки - добавление нового элемента
Можно ли в Паскале в списках описать процедуру добавления нового элемента (строки) таким образом: ...

Линейные списки в Turbo Pascal
Помогите написать подпрограмму, которая проверяет на равенство списки М1 и М2 или которая копирует...

Тематика графов, списки, матрицы
Извините, если не туда попал, я новичок. Проблема такова, пишу курсач на тему &quot;Способы задания...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru