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

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

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

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> работа с записями, (упорядочение, формирование множества)
18192123
сообщение 30.11.2006 21:58
Сообщение #21


Профи
****

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

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


Цитата(мисс_граффити @ 30.11.2006 21:54) *

T - абсолютно не нужно.
вместо него пишешь a[i] и делаешь снаружи цикл по i. то есть чтобы действия, описанные volvo, выполнялись для каждого элемента.
записи? сначала у тебя множество пустое. а добавление в него эл-тов происходит здесь:
rez_mn:=rez_mn+[T mod 10];


ты наверное не правильно поняла меня насчет записи:
"а вот ещё: дан массив из эн натур. чисел. Сформировать множество цифр, которых нет в записи хотя бы одного из чисел массива. "
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Malice
сообщение 30.11.2006 22:36
Сообщение #22


Профи
****

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

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


Похоже вот этот блок в твоей программе:

rez_mn:=is_mn-rez_mn;
for i:=0 to 9 do
begin
if i in rez_mn then

надо поменять на:
is_mn:=is_mn-rez_mn;
for i:=0 to 9 do
begin
if i in is_mn then
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 30.11.2006 22:39
Сообщение #23


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


18192123, запись числа - это совокупность его цифр, написанных по определенному закону! это то, что мы записываем.
тут речь не про тип "запись".


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 30.11.2006 22:50
Сообщение #24


Гость






Цитата
T - абсолютно не нужно.
вместо него пишешь a[i] и делаешь снаружи цикл по i.
То есть, посмотреть на контекст нельзя никак? Сообщение №13 что говорит? Я по-моему, объяснил, ЗАЧЕМ здесь нужно T?
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 30.11.2006 22:57
Сообщение #25


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Ой. Сорри.
А нельзя тему на 2 разделить?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
18192123
сообщение 30.11.2006 23:02
Сообщение #26


Профи
****

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

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


Цитата(мисс_граффити @ 30.11.2006 22:39) *

тут речь не про тип "запись".

Всё! теперь понятно!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
18192123
сообщение 3.12.2006 20:48
Сообщение #27


Профи
****

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

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


ещё один вопрос:
составила прогу для второй задачи без процедур: все работает

Program lab_8_2;
uses crt;
const n=5;
type vect=array[1..n]of integer;
procedure input(var a:vect);
var i:byte;
begin
writeln ('vvedite massiv naturalnih 4isel');
for i:=1 to n do
read (a[i]);
end;
VAR
a:vect;
i,k:byte;
is_mn,rez_mn,mn_4isel:set of byte;
BEGIN
CLRSCR;
input (a);
mn_4isel:=[];
for i:=1 to n do begin
while a[i]<>0 do
begin
mn_4isel:=mn_4isel+[a[i] mod 10];
a[i]:=a[i] div 10;
end;
end;

is_mn:=[0..9];
rez_mn:=is_mn-mn_4isel;
for k:=0 to 9 do
begin
if k in rez_mn then
writeln (k);
end;
readkey;
end.





теперь хочу дополнить программу процедурой - не получается; не пойму в чем дело?


Program lab_8_2;
uses crt;
const n=5;
type vect=array[1..n]of integer;
procedure input(var a:vect);
var i:byte;
begin
writeln ('vvedite massiv naturalnih 4isel');
for i:=1 to n do
read (a[i]);
end;
procedure creat_mn(const a:vect);
var
mn_4isel:set of byte; i:byte;
begin
mn_4isel:=[];
for i:=1 to n do
begin
while a[i]<>0 do
begin
mn_4isel:=mn_4isel+[a[i] mod 10];
a[i]:=a[i] div 10;
end;
end;
end;

VAR
a:vect;
i:byte;
is_mn,rez_mn,mn_4isel:set of byte;
BEGIN
CLRSCR;
input (a);
creat_mn(a,i);
is_mn:=[0..9];
rez_mn:=is_mn-mn_4isel;
for i:=0 to 9 do
begin
if i in rez_mn then
writeln (i);
end;
readkey;
end.



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.12.2006 20:51
Сообщение #28


Гость






procedure creat_mn(const a:vect); { <--- Проблема в Const }
Ты запретила изменять множество, а ниже пытаешься это делать... Значит, тебе надо Var ...
 К началу страницы 
+ Ответить 
18192123
сообщение 3.12.2006 21:16
Сообщение #29


Профи
****

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

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


Цитата(volvo @ 3.12.2006 20:51) *

procedure creat_mn(const a:vect); { <--- Проблема в Const }
Ты запретила изменять множество, а ниже пытаешься это делать... Значит, тебе надо Var ...

компиляция проходит успешно, а программа выдает все цифры от 0 до 9
??????????????????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.12.2006 21:26
Сообщение #30


Гость






Цитата
а программа выдает все цифры от 0 до 9
blink.gif А что ты думала она будет выдавать? mn_4isel - локальная переменная, после выхода из процедуры уничтожается, а глобальная с тем же именем ничего про процедуру create_mn вообще не знает, и естественно равна [] ... Все правильно... Тебе надо как-то возвращать множество из процедуры... Подумай, как...
 К началу страницы 
+ Ответить 
18192123
сообщение 3.12.2006 21:40
Сообщение #31


Профи
****

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

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


Цитата(volvo @ 3.12.2006 21:26) *

blink.gif А что ты думала она будет выдавать? mn_4isel - локальная переменная, после выхода из процедуры уничтожается, а глобальная с тем же именем ничего про процедуру create_mn вообще не знает, и естественно равна [] ... Все правильно... Тебе надо как-то возвращать множество из процедуры... Подумай, как...

у меня такая мысль:
объявить mn_4isel в списке формальных параметров(не знаю, как - пытаюсь сделать - ошибки??????)

Сообщение отредактировано: 18192123 - 3.12.2006 21:41
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
18192123
сообщение 3.12.2006 23:27
Сообщение #32


Профи
****

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

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


Цитата(18192123 @ 3.12.2006 21:40) *

у меня такая мысль:
объявить mn_4isel в списке формальных параметров(не знаю, как - пытаюсь сделать - ошибки??????)

я права???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
18192123
сообщение 4.12.2006 0:13
Сообщение #33


Профи
****

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

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


Цитата(volvo @ 3.12.2006 21:26) *

blink.gif А что ты думала она будет выдавать? mn_4isel - локальная переменная, после выхода из процедуры уничтожается, а глобальная с тем же именем ничего про процедуру create_mn вообще не знает, и естественно равна [] ... Все правильно... Тебе надо как-то возвращать множество из процедуры... Подумай, как...

ну объясните пожалуйста, как нужно

в правильном ли направлении я думаю???????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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