IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сложно.Трудно.Помогите., Множества и записи...
Archie
сообщение 13.12.2007 21:22
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской
Реальное имя: Руслан

Репутация: -  0  +


13.22 type слово=packed array[1..9] of char;
номер телефона=100000...999999;
знакомый=record фамилия:слово;
номер:номертелефона;
end;
страница=array[1..20] of знакомый;
запясная книжка=array['A'..'Z'] of страница;
Считая, что на каждой странице записной книжки указаны фамилии, начинающиеся с одной и той же буквы - индекса этой страницы, описать логическую функцию:
а) номера (ЗК,НТ,Ф), определяющую, есть ли в записной книжке ЗК сведения о знакомом с фамилией Ф, и, если есть, присваивающую параметру Ф фамилию этого знакомого.
14.33 Описать логическю функцию Path (G,N,K,D), которая определяет, есть ли в ориентированном графе G путь из вершины N в вершину K, и, если есть, присваивает параметру D длину (число дуг) кратчайшего пути из N в K.
Использовать следующее представление графа:
type вершина = (b1,b2,b3,b4,b5,b6,b7,b8);
соседи = set of вершина;
граф = array[вершина] of соседи;
(G[x] - множество вершин, которые ведут дуги из вершины x)

Помогите пожалуйста...в субботу сдавать эту лабораторную, а сделать не получсется...жду ответов.

Сообщение отредактировано: Archie - 13.12.2007 23:24
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Archie
сообщение 14.12.2007 7:41
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской
Реальное имя: Руслан

Репутация: -  0  +


program _13_22;

type
slovo = array[1..9] of char;
nomer_telefona = 100000..999999;
znakomiy = record
fam: slovo;
nomer: nomer_telefona;
end;
stranica = array[1..20] of znakomiy;
zapisnay_knigka = array['A'..'Z'] of stranica;

var
zk: zapisnay_knigka;
nt: nomer_telefona;
fam: slovo;
i: byte;
s: string;

procedure dobavit(fam: string; nt: nomer_telefona; var zk: zapisnay_knigka);
var
i, j: byte;
begin
for i := 1 to 20 do
if zk[fam[1], i].fam[1] = #0 then
begin
for j := 1 to length(fam) do
zk[fam[1], i].fam[j] := fam[j];
zk[fam[1], i].nomer := nt;
break;
end;
end;

function familia(zk: zapisnay_knigka; fam: slovo; var nt: nomer_telefona): boolean;
var
i: byte;
j: char;
begin
for j := 'A' to 'Z' do
for i := 1 to 20 do
if zk[j, i].fam = fam then
begin
nt := zk[j, i].nomer;
familia := true;
break;
end;
end;

begin
dobavit('Alena', 111111, zk);
dobavit('Vika', 222222, zk);
dobavit('Genia', 333333, zk);
dobavit('Nadia', 444444, zk);
dobavit('Masha', 555555, zk);
s := 'Masha';
for i := 1 to length(s) do
fam[i] := s[i];
if familia(zk, fam, nt) = true then writeln('Masha ', nt)
else writeln('Takogo znakomogo net');
readln;
end.


Хз - верно или нет...по суи да, но как то коряво. а вторую даж не понял. помогите плиз.

Сообщение отредактировано: Archie - 14.12.2007 7:42
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"