Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Turbo Pascal Окружность вписана в квадрат. Найти площадь квадрата, вписанного в эту окружность Помогите, пожалуйста... 2)Окружность вписана в квадрат (задана площадь этого квадрата) найти площадь квадрата вписанного в эту окружность. Так ли это решается? Program abc; Var s2:real; S1:integer; BEGIN write('S1='); read(s1); S2:=(3.14*(sqrt(S1)))/(3.14*0.5); https://www.cyberforum.ru/ turbo-pascal/ thread616520.html Turbo Pascal В массиве хранятся сведения о количестве осадков. Определить общее количество осадков
2. В массиве хранятся сведения о количестве осадков, выпавших за каждый день января. Определить общее количество осадков за январь.
Turbo Pascal Определить номера команд, имеющих меньше трех побед https://www.cyberforum.ru/ turbo-pascal/ thread616497.html
3. В массиве хранится информация о количестве побед, одержанных 20 футбольными командами. Определить номера команд, имеющих меньше трех побед.
Turbo Pascal Известно число жителей в каждом доме улицы. На какой стороне улицы проживает больше жителей 4. Известно число жителей, проживающих в каждом доме улицы. Нумерация домов проведена подряд. Дома с нечетными номерами расположены на одной стороне улицы, с четными — на другой. На какой стороне улицы проживает больше жителей? https://www.cyberforum.ru/ turbo-pascal/ thread616494.html
Turbo Pascal Удалить из массива максимальный элемент
5. Удалить из массива, в котором все элементы различны максимальный элемент(изменение исходного массива)
Turbo Pascal Для каждой проведенной игры напечатать словесный результат: "выигрыш", "ничья'' или "проигрыш" 6. Даны два массива из 20 однозначных чисел. В первом из них записано количество мячей, забитых футбольной командой в игре, во ром — количество пропущенных мячей в этой же игре. Для каждой проведенной игры напечатать словесный результат: "выигрыш", "ничья'' или "проигрыш".(работа с 2, 3 массивами) https://www.cyberforum.ru/ turbo-pascal/ thread616486.html
Turbo Pascal Вводится предложение. Вывести его второй, четвертый и т.д. символы помогите пжлст 2. Обработка строк с использованием оператора цикла с параметром Вводится предложение. Вывести его второй, четвертый и т.д. символы. https://www.cyberforum.ru/ turbo-pascal/ thread616474.html Turbo Pascal Определить количество букв о в первом и третьем словах
помогите пжлст 3. Обработка строк с использованием оператров цикла с условием Дано предложение. Определить количество букв о в первом и третьем словах.
Turbo Pascal Определить, сколько среди данных четырех чисел отрицательных помогите решить пжлста 2. Неполный и вложенные условные операторы 8. Даны четыре вещественных числа. Определить, сколько из них отрица¬тельных. Оператор цикла не использовать. https://www.cyberforum.ru/ turbo-pascal/ thread616468.html Turbo Pascal Определить, сколько раз в числе встречается его максимальная цифра 2. Использование цикла с предусловием Дано натуральное число. Определить, сколько раз в нем встречается его максимальная цифра (например, для числа 132 233 ответ равен 3, для числа 46 336 — 2, для числа 12 345 — 1). https://www.cyberforum.ru/ turbo-pascal/ thread616462.html
Turbo Pascal Заменить в предложении окончания слов «ing» на окончания «ed»
Напишите программу, которая осуществляет обработку информации условию, заданных ниже. Разделителем слов предложения считать пробел ( '_' ). 6. Заменить в предложении окончания слов «ing» на окончания «ed»
Turbo Pascal Является ли последовательность цифр числа упорядоченной по возрастанию 3. Использование цикла с постусловием Дано натуральное число. Установить, является ли последовательность его цифр при просмотре их справа налево упорядоченной по возраста¬нию. Например, для числа 5321 ответ положительный, для чисел 7820 и 9663 — отрицательный и т. п. https://www.cyberforum.ru/ turbo-pascal/ thread616452.html
0 / 0 / 1
Регистрация: 18.11.2011
Сообщений: 129
0

Кольцевой список - Turbo Pascal - Ответ 3222404

29.06.2012, 16:33. Показов 555. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Составила программу, но преподаватель сказал, что -то вроде:"для таких задачек, подобные простыни не составляют"..... Помогите оптимизировать - сделать код компактнее. Задача: нужно в кольцевой список, состоящий из определенного кол-ва элементов добавить N элементов, каждый новый элемент вставляется через К элементов кольца. Заранее спасибо за помощь.
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
program qwe;
    uses crt;
    const
      k1 = 5;
      k2 = 3;
      k3 = k1 + k2;
    TYPE
      PTR = ^SP;
      SP = RECORD
        INF : integer;
        next : PTR;
      END;
     
     
    procedure create_ring(var root: ptr);
    var
      k, zn : integer;
      i, j: ptr;
    begin
      new(root);
      root^.next := NIL;
      for k := 1 to k1 do
        begin
        zn := k;
        if k = 1 then
          begin
          root^.inf := zn;
          new(i);
          root^.next := i;
     
          end
        else
          if k < k1 then
            begin
            i^.inf := zn;
            new(j);
            i^.next := j;
            i := j;
            end
          else
            begin
            i^.inf := zn;
            i^.next := root;
            end;
        end;
    end;
    procedure destroy_ring(var root: ptr);
    var i, j: ptr;
    begin
      if root <> nil then
        begin
        i := root;
        repeat
          j := i^.next;
          dispose(i);
          i := j;
        until i = root;
        root := nil;
        end;
    end;
     
    procedure print_ring(root: ptr; len: integer);
    var
      k : integer;
      p: ptr;
    begin
      writeln('----------');
      p := root;
      for k := 1 to len do begin
        writeln('VALUE: ', p^.inf); writeln('');
        p := p^.next;
      end;
      writeln('----------');
    end;
     
     
     
    function create_list: ptr;
    var
      i: integer;
      root, p, tail: ptr;
    begin
      root := nil; tail := nil;
     
      for i := 1 to k2 do begin
        new(p);
        p^.next := nil;
        p^.inf := 10 * i;
     
        if root = nil then root := p
        else tail^.next := p;
     
        tail := p;
      end;
      create_list := root;
    end;
     
    procedure destroy_list(var root: ptr);
    var
      p, T: ptr;
    begin
      p := root;
      while p <> nil do begin
        T := p;
        p := p^.next;
        dispose(T);
      end;
      root := nil;
    end;
     
    procedure print_list(root: ptr);
    var p: ptr;
    begin
      writeln('----------');
      p := root;
      while p <> nil do begin
        writeln('VALUE: ', p^.inf); writeln;
        p := p^.next;
      end;
      writeln('----------');
    end;
     
    procedure merge(ring, list: ptr; step: integer);
    var
      p1, p2, new_node: ptr;
      i: integer;
    begin
      p1 := ring; p2 := list;
      while p2 <> nil do begin
     
        for i := 1 to step - 1 do
          if p1 <> nil then p1 := p1^.next;
     
        new(new_node);
        new_node^.inf := p2^.inf;
        new_node^.next := p1^.next;
        p1^.next := new_node;
     
        p1 := p1^.next^.next;
        p2 := p2^.next;
      end;
    end;
     
    var
      ring_root, list_root: ptr;
      step: integer;
     
    BEGIN
      clrscr;
      randomize;
      create_ring(ring_root);
      writeln('Оригинальный список (кольцевой)');
      print_ring(ring_root, k1);
      writeln('+++++++++++');
      list_root := create_list;
      writeln('Добавляемый список');
      print_list(list_root);
      write('Введите шаг вставки:');
      Readln(step);
     
      merge(ring_root, list_root, step);
     
      writeln('+++++++++++');
      writeln('Переформированный спискок');
      print_ring(ring_root, k3);
     
      destroy_ring(ring_root);
      destroy_list(list_root);
      readkey;
    END.


Вернуться к обсуждению:
Кольцевой список Turbo Pascal
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2012, 16:33
Готовые ответы и решения:

сортировку и список кольцевой
1 ) Дан односвязный список отсортировать методом сортировки выбором (без функций и процедур ) 2)...

Динамический кольцевой список. Вывести n раз. Ошибка не выдает 1-ый символ.
Здравствуйте всем. Дана следующая задача: Текст, заканчивающийся точкой, занести в динамический...

Кольцевой сдвиг чисел влево
Допустим n=5 вывести на экран 12345 23451 34512 45123 51234 Василий01, вы уже не новичок и...

Написать код программы: кольцевой буфер
Кольцевой буфер

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

кольцевой список
Помогите сформировать односвязный список, добавление элемента после текущего и выведение этого на...

Кольцевой двунаправленный список
Пусть L обозначает кольцевой двунаправленный список с заглавным звеном. Используя функцию или...

двусвязный кольцевой список
нужно написать следующие процедуры: -перемещение по списку(стрелки) -включение нового узла(Ins)...

Текст заканчивающийся точкой занести в динамический кольцевой список.
Текст заканчивающийся точкой занести в динамический кольцевой список. вывести на экран монитора...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru