0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
1

линейные списки

07.12.2009, 12:43. Показов 2276. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста срочно с написанием программы по линейным спискам:

Создать список Р, что состоит из записей: первое полеле-буква, второе поле- адрес следующего элемента. Составить программу для проверки упорядочености элементов по уменьшению кодов букв!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2009, 12:43
Ответы с готовыми решениями:

Линейные списки и циклические списки
Подскажите,кто как может,у меня тут 2 лабы,с чего мне начать,где можно материал взять?? 1-ая...

Линейные списки
Представить одну из приведенную ниже таблицу в виде линейного списка L, элементами которого...

Линейные списки
Помогите пожалуста решить задачу. Уже неделю не могу решить! Где-то в воде нового элемена ошибка,...

Линейные списки
Помогите пожалуйста в решении задачи! 1.Используйте линейные списки для хранения...

21
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
08.12.2009, 04:49 2
И Вы наверное поиском по форуму тоже не пользовались, да?
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 10:00  [ТС] 3
скажу честно не пользовался потому что не знаю в принципе что в поиске задавать что бы то что нужно найти
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 10:07 4
lex_cobra, Зайдите на эту страницу, ищите, читайте. Писать Вам все равно никто не будет.
https://www.cyberforum.ru/sear... hid=603538
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 10:25  [ТС] 5
Сейчас просматриваю поиск, но мне просто непонятно еще понятие "уменьшению кодов букв" это они откуда коды хотят что бы взялись?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 10:33 6
lex_cobra, Все символы имеют код, в паскале это коды по таблице ASCII. Таблицу кодов посмотрите в справочных материалах раздела. Принцип сортировки по уменьшению кодов такой
Pascal
1
2
3
4
5
6
7
8
for i:=1 to n-1 do
for j:=i+1 to n do
if ord(s[i])<ord(s[j]) then
 begin
  x:=s[i];
  s[i]:=s[j];
  s[j]:=x;
 end;
Это так в массиве.
переменные типа
Pascal
1
2
s:string;
x:char;
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 10:41  [ТС] 7
я так и подозревал что нужно будет через ASCII только не поняйму справочные материалы где посмотреть??? у меня вобще просто все что есть это методичка по которой нужно сделать программы, и я на последней завис, а уже сдавать нужно готовить и поэтому попросил помощи (
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 10:57 8
только не поняйму справочные материалы где посмотреть???
Вверх страницы раздела Паскаль поднимитесь, там есть важные темы.
1
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
08.12.2009, 12:29 9
собственно если сами символы сравнивать - они по-моему так и сравниваются внутри по коду.
т.е. список нужно упорядочить по убыванию информационных частей.
var c, s: char;

if c< s <=> if ord(c)<ord(s)
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 12:59  [ТС] 10
вот что получилось, но выдает какуюто полную чушь при работе (((
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Procedure srav(var t:pt;n:integer);
var
 j,i:integer;
 x:char;
begin
  for i:=1 to n-1 do
   for j:=i+1 to n do
    if ord(t^.data[i])<ord(t^.data[j]) then
     begin
      x:=t^.data[i];
      t^.data[i]:=t^.data[j];
      t^.data[j]:=x;
     end;
end;
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 13:20 11
Сортировать нужно не только одно поле, а всю запись. Как-то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Procedure srav(var t:pt;n:integer);
var
 j,i:integer;
 x:pt;
begin
  for i:=1 to n-1 do
   for j:=i+1 to n do
    if ord(t^.data[i])<ord(t^.data[j]) then
     begin
      x:=t^[i];
      t^[i]:=t^[j];
      t^[j]:=x;
     end;
end;
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 13:25  [ТС] 12
Invalid qualifier тогда выдает я уже так пробовал (((, это ж не массив
0
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
08.12.2009, 13:28 13
Puporev, нет, не правильно, не вводите в заблуждение людей )
Сортировать можно на самом деле 2-мя способами:
1)Меня местами элементы, без изменения значения (быстрый способ, т.к. если у Вас один элемент будет состоять из 100 полей, Вам не потребуется их все менять с другим элементом, а надо будет лишь найти куда его вставить в списке)
2)С изменением значения. Тут тоже самое что с массивом, только вы забываете, что это список и что переход надо делать не по индексу (как в массиве), а через адрес, как то так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Procedure srav(var nach:pt;n:integer); 
var        {nach- указатель на начало списка}
 j,i:integer;
 t,tt:pt;
 tmp:char;
begin
  t:=nach;
  While t<>nil do
  begin
    tt:=t^.next;
    while tt<>nil do
    begin
      if ord(tt^.data)<ord(t^.data) then
      begin
        tmp:=tt^.data;
        tt^.data:=t^.data;
        t^.data:=tmp;
      end;
      tt:=tt^.next;
    end;
    t:=t^.next;
  end;
end;
1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 13:31 14
lexus_ilia, Я написал сам принцип, что сортировать нужно не поле а записи целиком, а как они организованы, это дело автора, я его программу в глаза не видал.
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 13:39  [ТС] 15
Ordinal expression expected в строке
Pascal
1
if ord(tt^.data)<ord(t^.data) then
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.12.2009, 13:43 16
lex_cobra, tt^.data какого типа у Вас? Должно быть char;
1
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
08.12.2009, 13:51 17
lex_cobra, Весь проект показывайте...
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
08.12.2009, 13:55  [ТС] 18
Все добил ее, Всем большое Спасибо за помощь в этом деле!!!
0
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
08.12.2009, 14:10 19
Вы уж тогда или всю программу приведите или хотя бы описание типов и переменных - если там просто динамический список, то откуда массив с индексами?
и проверить список на упорядоченность или отсортировать его - задачи разные, Вам что нужно ?
0
Puporev
08.12.2009, 14:12     линейные списки
  #20

Не по теме:

Dnnn, Ему в ближайшие 10 минут ничего не нужно, у него все работает до очередного бага, тогда еще строку кода выложит. Программа-то секретная.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2009, 14:12

Линейные 1направленные списки.
Вставка в нач. и конец списка, просмотр, поиск и удаление. Помогите поправить код программы....

ДСД. Линейные списки
Attention! Даны два целочисленных списка L1 и L2. Построить новый список L3, включив в него...

Линейные связанные списки
Составить программу обработки списка. Вид списка: линейный дважды связанный. Тело программы должно...

Линейные списки (найти ошибки)
Помогите пожалуйста найти ошибки в этих двух программах: 1. Создать линейный список из слов,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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