Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Множества

Автор: rekrut 4.04.2007 22:30

помогите сказать что не так в 3 строке, выдает ошибку "2 Identifier Expected". В програму вводится масив и она формирует множество из елементов масива. Думаю для профи тут все понятно, только неясно почему ошибка..


Program mnogina1;
const n=10;
type mn1=(5,10,15,20,25); {выдает тут ошибку}
Var i,k:integer;
ar:array[1..n] of integer;
mnog:set of mn1;
Begin
k:=25;
mnog:=[];
for i:=1 to n do
readln(ar[i]);
for i:=1 to n do
if ar[i] in mnog then mnog:=mnog+[ar[i]];
for i:=5 to k do
begin
if i in mnog then write(i,' ');
i:=i+5;
end;
End.


М
для текстов программ есть специальные теги: [cоde=pas] и [/соde]
мисс_граффити


Автор: volvo 4.04.2007 22:49

Цитата
только неясно почему ошибка..
В Паскале элемент перечислимого типа (а mn1 у тебя - именно перечислимый тип) должен быть идентификатором, а идентификатор - это то, что начинается с символа подчеркивания или латинской буквы...

Автор: rekrut 4.04.2007 22:58

Ето я конечно знаю, только вот почему тогда если задавать через интервал (5..10) тогда все нормально, и как же мне тады сделать шоб оно так было не подскажите,потому что мы на практике как то (усно без компов) училка на доске писала програму и там в типе было написано вот так :

Цитата
... Type chus=(0,2,4,6,8); ...


получается что ето она нам неправильно протрындела тему что ли ?

Автор: volvo 4.04.2007 23:08

Вот так как ты написал - этого в Паскале никогда не было... Надо делать по другому...

Кроме всего прочего, у тебя в программе есть еще по крайней мере 2 ошибки, которые не ловятся компилятором... Так что сначала приведи задание, а потом будем смотреть, как его лучше сделать...

Автор: rekrut 4.04.2007 23:13

Задание по сути такое: ввести целочисельный массив 20 елементов, и сформировать множество елементы которого: 5,10,15,20,25.

P.S получается наша училка <censored> что ли раз написала нам так give_rose.gif

Автор: мисс_граффити 5.04.2007 0:07

 const mn1=[5,10,15,20,25]

или
var mn1: set of byte;
...
for i:=1 to 5 do
include(mn1,i*5);