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

Записи и Таблицы. Деревья

20.12.2012, 12:45. Показов 576. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Записи и таблицы.
1) Прямая на плоскости задается уравнением ax+by+c=0 , где a и b од-новременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, c - целые числа. Пусть f - таблица, содержащая коэффициенты нескольких прямых (не менее трех). Переписать из таблицы f в таблицу g коэффициенты тех прямых, которые: параллельны первой из прямых, заданной в таблице f, но дополнительно требуется, чтобы все прямые были раз-личны;
Код который есть:
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
Type Line = Record {‹Ё*ЁЁ}
               A,B,C: Integer; {Љ®нддЁжЁҐ*вл}
            End;
 
Var Result,I,J,N: Integer;
    F,G : Array[1..20] Of Line;
 
    
Begin
 
       F[1].A := 1; F[1].B := 9; F[1].C := 2;
       F[2].A := 2; F[2].B := 6; F[2].C := 3;
       F[3].A := 3; F[3].B := 5; F[3].C := 1;
       F[4].A := 4; F[4].B := 2; F[4].C := 4;
       F[5].A := 3; F[5].B := 3; F[5].C := 1;
       F[6].A := 2; F[6].B := 5; F[6].C := 2;
       F[7].A := 1; F[7].B := 9; F[7].C := 5;
       F[8].A := 2; F[8].B := 6; F[8].C := 1;
       F[9].A := 3; F[9].B := 5; F[9].C := 2;
 
       N := 9;
       Result := 0;
 
       I := 1;
       For J := 2 to N Do
           If (F[I].A = F[J].A) And (F[I].B = F[J].B) Then Begin
              Write('‹Ё*Ёп ',I,' Ї*а*««Ґ«м** «Ё*ЁЁ ',J,'    ');
              WriteLn(F[I].A,'X + ',F[I].B,'Y + ',F[I].C);
              Result := Result + 1;
           End;
       Writeln('Ќ*©¤Ґ*® ',Result,' «Ё*Ё©');
 
       If Result = 0 Then WriteLn('’*ЄЁе «Ё*Ё© *Ґв');
       Readln;
End.
2) Дана таблица f, содержащая сведения о веществах: указывается название вещества, его удельный вес и проводимость (проводник, полупроводник, изолятор): выбрать данные о проводниках и упорядочить их по убыванию удельных весов.

Деревья.

1) Создать и продемонстрировать работу программы, которая определяет число вхождений элемента Е в дерево Т.
Код который есть:
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
Type inform = word;
     ss = ^zveno;
     zveno = record
           inf : inform;
           key : integer;
           left, right: ss;
     end;
 
Var E,N,I,Rn : Integer;
    tr : ss;
 
Procedure vstavka(var p: ss; k: integer);
Begin
     If p = nil then Begin
        New(p);
        p^.key:=k;
        p^.left:=nil;
        p^.right:=nil;
     End Else Begin
         If k < p^.key  then vstavka(p^.left, k);
         If k > p^.key  then vstavka(p^.right, k);
     End;
End;
 
Procedure print(var p: ss; h: integer);
Var i: integer;
Begin
     If p <> nil then Begin
        Print(p^.right, h + 1);
        For i:=1 to h do write('    ');
        Writeln(p^.key);
        Print(p^.left, h + 1);
     End
End;
 
Function poisk(p: ss; x: integer): boolean;
var b: boolean;
begin
     b:=false;
     while (p <> nil) and (b = false) do begin
           if p^.key = x
              then b:=true
              else if p^.key < x
                   then p:=p^.right
                   else p:=p^.left;
     end;
     poisk:=b;
end;
 
Begin
     Randomize;
     ClrScr;
     Write('‚ўҐ¤ЁвҐ зЁб«® Ї®в®¬Є®ў N: ');
     ReadLn(N);
 
     New(tr);
     tr^.key:=Random(100);
     tr^.left:=nil;
     tr^.right:=nil;
 
     I := 1;
     While I <= N Do Begin
         Rn := Random(100);
         If Not(poisk (tr, Rn)) then Begin
            vstavka(tr, Rn);
            Inc(I);
         End;
     End;
 
     print(tr,3);
 
     Write('‚ўҐ¤ЁвҐ ЁбЄ®¬®Ґ зЁб«® E: ');
     ReadLn(E);
 
     If poisk (tr, E) Then WriteLn('’*Є®© н«Ґ¬Ґ*в Ґбвм')
                       Else WriteLn('’*Є®Ј® н«Ґ¬Ґ*в* *Ґв');
 
     ReadLn;
End.
2) Рекурсивно и не рекурсивно создать и продемонстрировать работу логической функции equal (T1,T2), проверяющую на равенство деревья Т1 и Т2.
Есть функция проверяющая на равенство деревья:
Pascal
1
2
3
4
5
6
7
8
9
10
11
function Equal(T1,T2 : Tree ) : boolean;
 begin
 if T1=T2 then Equal:=true
 else
 if (T1 <> nil) and (T2 <> nil) then
 if T1^.inf = T2^.inf then
 Equal:=Equal(T1^.L,T2^.L) and 
 Equal(T1^.R,T2^.R)
 else Equal:=false
 else Equal:=false
 end;
Помогите пожалуйста сделать!


 Комментарий модератора 
Обращаю Ваше внимание на правило форума: множественные задания в теме запрещены! Одно задание - одна тема.

 Комментарий модератора 
Подправил теги кода.

 Комментарий модератора 
Если при копировании текста в редакторе и вставке его в окно сообщения, русский текст превращается в кракозябры, например, такие:
Ї*а*««Ґ«м** «Ё*ЁЁ
то поступить надо так. В редакторе следует переключиться на русскую раскладку клавиатуры. Выделить текст, скопировать его в буфер обмена. Затем - вставить текст из буфера обмена в окно сообщения. В этом случае при добавлении текста в буфер обмена будет задана русская кодовая страница CP1251 (windows-1251). Соответственно, при вставке будет использована эта же страница. И русский текст будет передан правильно.


Добавлено через 6 часов 1 минуту
Все ошибки учту в следующий раз.

Помогите пожалуйста с программами

Добавлено через 23 часа 55 минут
Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2012, 12:45
Ответы с готовыми решениями:

Двоичные деревья, хеш таблицы
Доброго времени суток! Помогите пожалуйста со следующими задачами. 1). Программа создает двоичное...

Выбрать по 1 записи из таблицы 2 для каждой записи из таблицы 1
В таблице Document_Action по несколько записей для некоторых (не для всех) записей из таблицы...

Нужна литература по созданию таблиц — таблицы, деревья, списки, связи
Интересуют учебные пособия (для чайника), по созданию таблиц - таблицы, деревья, списки, связи... В...

Вывести связанные записи из второй таблицы при выборе записи в первой
Есть две таблицы, в одной пишется имя и фамилия, а в другой телефоны и их может быть несколько,...

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

Запрос: вывести все записи одной таблицы, и совпадающие записи другой
SELECT .ФИО AS ФИО, .Паспорт AS , .Телефон AS Телефон FROM Source INNER JOIN Compare ON...

Удаление записи из таблицы, с проверкой на совпадение с записями из другой таблицы.
День добрый! В общем такая проблема: Мой проект на курсовую работу представляет из себя простую...

Как в триггере таблицы обновить другие записи той же таблицы?
Собственно вопрос в заголовке. Триггер после обновления (после удаления). Другими словами как...

Выборка таблицы по условию если ничего не найдено, вернуть все записи таблицы!
Добрый день! забыл как сделать выборку, есть такой запрос: select * FROM Applications WHERE Id...


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

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