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

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

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

 
 Ответить  Открыть новую тему 
> массивы и строки открытого типа, прогу написал только в одной строчке не пойму что требуется
сообщение
Сообщение #1


Новичок
*

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

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


задание: Использовать директиву absolute, отсортировать по убыванию с помощью одной подпрограммы векторы из 10 и 14 вещественных компонент.

текст программы:
Program Lab13;
const
x:array[1..10] of real=(1,2,3,4,5,6,7,8,9,10);
y:array[1..14] of real=(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
procedure sort(var z,n:byte);
var
w:array[1..maxint div size of real]of real absolutez;
i:byte;
k:byte;
t:real;
begin
writeln;
for i:=1 to n do
begin
for k:=i+1 to n do
begin
t:=w[i];
w[i]:=w[k];
w[k]:=t;
end;
end;
end;
procedure vivod(var z,n:byte);
w:array[1..maxint div size of real] of real absolutez;
i:byte;
begin
for i:=1 to n do
write('',w[i]:4);
writeln;
end;
begin
writeln('Сортировка');
sort(x,10);
sort(y,14);
writeln('Вывод:');
vivod(x,10);
vivod(y,14);
end.



ошибка вот в чем, в лекциях на подобном примере написана такая строка
w:array[1..maxint div size of real]of real absolutez;

собственно на неё и ругается паскаль, подскажите?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






w:array[1..maxint div sizeof(real)] of real absolute z;
(у тебя в одном месте - лишние пробелы, в другом пробела не хватает)

Ну, и ко всему:
procedure vivod(var z; n:byte); { После Z - точка с запятой, а не запятая }
, иначе получишь ошибку в другом месте, при попытке передать массив, когда процедура ждет byte.

Кстати, причем тут массивы открытого типа? Их тут нет. У тебя вообще бестиповые параметры.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


спасибо

ну это просто общая тема на несколько лаб, в моей нету просто)

Добавлено через 9 мин.
блин все ровно ошибку выдает

перед
sizeof
выдает что ожидался идентификатор
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Не знаю, что у тебя там ошибку выдает - я не телепат твои ребусы разгадывать. У меня не выдает:
Прикрепленное изображение Прикрепленное изображение

Мне что, еще несколько компиляторов проверить, в надежде, что где-то не сработает?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Цитата(volvo @ 21.12.2010 19:43) *

Не знаю, что у тебя там ошибку выдает - я не телепат твои ребусы разгадывать. У меня не выдает:
Прикрепленное изображение Прикрепленное изображение

Мне что, еще несколько компиляторов проверить, в надежде, что где-то не сработает?

Да все я разобрался, мой косяк спасибо за помощь)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 6.05.2024 16:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name