Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2010, 21:13   #1
dragun4ik
Пользователь
 
Регистрация: 30.01.2010
Сообщений: 26
По умолчанию НАйти ошибку в задаче

Код:
program set_;
uses crt;
var s1,s2,s3,s4: set of byte;
a:array[1..10] of integer;
i:integer;
begin
clrscr;
s3:=[3,3,7,7];
writeln('vvedite  element 1-go mnogecTBA ');
for i:=1 to 10 do
 begin
 read(a[i]);
 s1:=s1+a[i];
 end;
writeln('vvedite  element 2-go mnogecTBA ');
for i:=1 to 10 do
 begin
 read(a[i]);
 s2:=s2+a[i];
 end;
s4:=s1+s2;
if s3 in s4 then writeln('prinadlegit') else
writeln('ne prinadlegit');
readln;
end.
Чет я не пойму в чем ошибка Объясните плиз
пишет ошибка 26 тайп мисматч

Последний раз редактировалось Stilet; 30.06.2010 в 09:37.
dragun4ik вне форума Ответить с цитированием
Старый 29.06.2010, 21:23   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

s1 - тип byte, array a - тип integer.
integer занимает больше памяти, чем byte, именно из-за невозможности помесить больший обьём памяти в меньший выдаёт ошибку.
Код:
a:array[1..10] of byte;

Последний раз редактировалось ZaRDaK; 29.06.2010 в 22:14.
ZaRDaK вне форума Ответить с цитированием
Старый 29.06.2010, 21:28   #3
dragun4ik
Пользователь
 
Регистрация: 30.01.2010
Сообщений: 26
По умолчанию

чет изменил а в итоге прога не работает все тоже пишет МОжет я не так написал программу???
Передо мной стояла задача ввести 2 множества с клавиатуры объеденить их и проверить принадлежит ли множество S3 их объединению

когда тип множества пишеш integer прога выдает ошибку 23 "Базовый тип множества нарушает границы" я чет не разбирусь что это занчит Может интежер к множествам не подходит

Последний раз редактировалось Stilet; 30.06.2010 в 09:37.
dragun4ik вне форума Ответить с цитированием
Старый 29.06.2010, 22:13   #4
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

да, действительно не подходит, забыл.
Меняй тип array of integer на array of byte
ZaRDaK вне форума Ответить с цитированием
Старый 29.06.2010, 22:28   #5
dragun4ik
Пользователь
 
Регистрация: 30.01.2010
Сообщений: 26
По умолчанию

ДА не уже все перепробывал не работает программа
dragun4ik вне форума Ответить с цитированием
Старый 29.06.2010, 23:06   #6
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Код:
program set_;
uses crt;
var s1,s2,s3,s4: set of byte;
a:array[1..10] of integer;
i:integer;
b : boolean;
begin
s3:=[3,3,7,7];
writeln('vvedite element 1-go mnogecTBA ');
for i:=1 to 10 do
begin
read(a[i]);
s1:=s1 + [a[i]];
end;
writeln('vvedite element 2-go mnogecTBA ');
for i:=1 to 10 do
begin
read(a[i]);
s2:=s2+[a[i]];
end;
s4:=s1+s2;
if s3 <= s4 then writeln('prinadlegit') else
writeln('ne prinadlegit');
readln;
end.
ZaRDaK вне форума Ответить с цитированием
Старый 29.06.2010, 23:24   #7
dragun4ik
Пользователь
 
Регистрация: 30.01.2010
Сообщений: 26
По умолчанию

Спасибо за помощь
dragun4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в задаче на С++ Nastya123 Помощь студентам 2 26.05.2009 14:18
Помогите найти ошибку в задаче! dimmkka Помощь студентам 2 20.02.2009 20:09
помогите найти ошибку в задаче. Wia Помощь студентам 1 16.12.2008 19:15
помогите найти ошибку в задаче. Wia Помощь студентам 1 14.12.2008 17:19
Помогите найти ошибку в задаче Filosofijka Паскаль, Turbo Pascal, PascalABC.NET 34 04.12.2008 13:36