Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
alexsius
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 62
1

Найдите среди трех очередей две одинаковые

24.04.2015, 09:16. Просмотров 957. Ответов 3
Метки нет (Все метки)

Посмотрите что у меня получилось!)спасибо)
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
program och;
uses crt;
type
  Tinf=integer;
  List=^TList;
  TList=record
    data:TInf;
    next:List;
  end;
procedure AddElem(var stek1:List;znach1:TInf);
var
  tmp:List;
begin
  GetMem(tmp,sizeof(TList));
  tmp^.next:=stek1;
 
  tmp^.data:=znach1;
  stek1:=tmp;
end;
 function equal(s1,s2,s3:List):boolean;
 begin
 if (s1=nil) or(s2=nil)or(s3=nil) then begin
 equal:=(s1=s2=s3) else
 begin
 while(s1^.next<>nil)and(s2^.next<>nil)and(s3^.next<>nil)and(s1^data=s2^data=s3^data)
 do begin
 s1:=s1^next;s2:=s2^next; s3:=s3^next; end;
 if(s1^next=s2^next)and(s1^data=s2^data ) then
 begin
 writeln('ravny 1 i 2 ochered');
 
 if(s2^next=s3^next)and(s2^data=s3^data ) then
  writeln('ravny 3 i 2 ochered');
 if(s1^next=s3^next)and(s1^data=s3^data ) then
  writeln('ravny 1 i 3 ochered');
end;
 var
 s1:list=nil;
 s1:list=nil ;
 s1:list=nil ;
 
 a,n,n2,n3:longint;
 
 
BEGIN
clrscr;
writeln('vvedite kol elementoff v 1 ocheredi');readln(n);
writeln('vvedite kol elementoff v 2 ocheredi');readln(n2);
writeln('vvedite kol elementoff v 3 ocheredi');readln(n3);
for a:=1 to n do
begin
write('s1[a]=');
readln(s1[a]);
end;
for a:=1 to n2 do
begin
write('s2[a]=');
readln(s2[a]);
end;
for a:=1 to n3 do
begin
write('s3[a]=');
readln(s3[a]);
end;
equal(s1,s2,s3);
 
END.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2015, 09:16
Ответы с готовыми решениями:

Найдите среди четырех очередей две одинаковые
Найдите среди четырех очередей две одинаковые.

Найти среди 4 очередей две одинаковые.
Найти среди 4 очередей две одинаковые.

Найдите все четырехзначные числа, в которых есть две одинаковые цифры
Помогите пожалуйста с програмированием в Паскале! задача: найдите все...

Найдите минимум среди первых 9-ти элементов и максимум среди последних 9-ти элементов массива и поме- няйте их местами.
Элементы одномерного массива К(T) получаются расчетом по формуле К(T)=...

Даны две дроби, определить одинаковые ли они
Даны две дроби, определить одинаковые ли они.

3
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26104 / 17504 / 6943
Регистрация: 22.10.2011
Сообщений: 30,837
Записей в блоге: 6
24.04.2015, 18:41 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
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
program och;
uses crt;
type
  Tinf=integer;
  List=^TList;
  TList=record
    data:TInf;
    next:List;
  end;
 
procedure AddElem(var q:List; znach1:TInf);
var
  p, new_item:List;
begin
  new(new_item);
  new_item^.data := znach1;
  new_item^.next := nil;
  if q = nil then q := new_item
  else
  begin
    p := q;
    while p^.next <> nil do p := p^.next;
    p^.next := new_item;
  end;
end;
 
function equals(p, q : list) : boolean;
begin
  if p = q then equals := true
  else if (p = nil) or (q = nil) then equals := false
  else equals := (p^.data = q^.data) and equals(p^.next, q^.next);
end;
 
function equal(s1,s2,s3:List):boolean;
begin
  if equals(s1, s2) then writeln('s1 = s2')
  else if equals(s1, s3) then writeln('s1 = s3')
  else if equals(s2, s3) then writeln('s2 = s3')
  else writeln('none equals');
end;
 
procedure enter(number : integer; var s : List);
var
  n, i : integer;
  item : integer;
begin
  writeln('vvedite kol elementoff v ', number, ' ocheredi'); readln(n);
  for i := 1 to n do
  begin
    write('-> '); readln(item);
    AddElem(s, item);
  end;
 
end;
 
var
 s1:list=nil;
 s2:list=nil;
 s3:list=nil;
 
BEGIN
  clrscr;
  enter(1, s1);
  enter(2, s2);
  enter(3, s3);
  equal(s1,s2,s3);
END.
2
UlyaL
1 / 1 / 0
Регистрация: 23.11.2015
Сообщений: 39
28.01.2016, 22:16 3
а можно с комментариями?
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3894 / 2554 / 2082
Регистрация: 22.11.2013
Сообщений: 7,135
30.01.2016, 23:10 4
volvo,
пожалуй, имелось в виду
Pascal
34
procedure equal(s1,s2,s3:List);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2016, 23:10

Определить, имеется ли у вектора х хотя бы две одинаковые ссылки
Считая, что все элементы вектора х не равны nil, описать логическую функцию...

В слове имеются только две одинаковые буквы. Найти их.
В слове имеются только две одинаковые буквы. Найти их. Помогите пожалуйста,...

Линейные списки: выяснить есть ли среди заданных чисел одинаковые
Помогите решить задачу плиззз.Она не трудная, но я не шарю... Даны n целых...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru