Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 26.09.2018, 09:28   #1
Kukla19
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 16
Репутация: 10
По умолчанию Неправильно объявляю массив. Не могу найти ошибку.

Код:

uses crt;

var
s: array [5] of string := (clred,clgreen,clgray,clblack,clblack);
fox: array [10] of integer;
foy: array [10] of integer;

fox,foy,x,y,rx,ry: integer;

begin
end.

Не могу найти ошибку в объявлении массива со словами. Во первых в чужих листингах не раз встречал объявление с ключевым словом VAR, но программа пишет "ожидался тип". Во вторых если так и пишу TYPE выскакивает предупреждение об ошибке "Встречено ':', а ожидалось '='" в 4 строке после s.

Писать начал недавно. Язык PascalABC.NET.
Kukla19 вне форума   Ответить с цитированием
Старый 26.09.2018, 09:49   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,275
Репутация: 2073

icq: 216409213
По умолчанию

Ну так может стоит открыть книжку или гугл и узнать, как задаются массивы? Например, что надо указывать два числа, а не одно.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 26.09.2018, 10:12   #3
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,712
Репутация: 2097
По умолчанию

s: array [5] of string := (clred,clgreen,clgray,clblack,clbla ck);
s: array [5] of string = ('clred','clgreen','clgray','clblack','clbl ack');
s: array [5] of TColor = (clred,clgreen,clgray,clblack,clbla ck);
или где(как) там объявлены эти идентификаторы cl...

fox: array [10] of integer;
fox,...: integer;
либо одно либо другое
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.09.2018 в 10:16.
evg_m вне форума   Ответить с цитированием
Старый 26.09.2018, 10:21   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,354
Репутация: 5274
По умолчанию

там ещё куча ошибок, начиная с неверного указания индексов при объявлении массива и заканчивая повторным определением одинаковых имён.

можно так:
Код:

uses crt;

var
s: array[1..5] of Integer := (Red,Green,LightGray,Black,Black);
fox: array [1..10] of integer;
foy: array [1..10] of integer;

x,y,rx,ry: integer;

begin
end.

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 26.09.2018, 10:43   #5
Kukla19
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 16
Репутация: 10
По умолчанию

Ну одинаковые имена это пока заглушки. Это не явные ошибки. Индексы уже поправил, спасибо за то что указали на них.

cl это обычные цвета, они подставляются в setpencolor.
есть функция setpencolor(s[i]), в нее подставляется значение из массива s[i] через for:=1 to n

Или так не будет работать?
Kukla19 вне форума   Ответить с цитированием
Старый 26.09.2018, 11:01   #6
Kukla19
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 16
Репутация: 10
По умолчанию

И еще вопрос: мне компилятор пишет неверное имя clred...

После обьявления массива в скопках задаются значения ячеек массива или это не так?
Kukla19 вне форума   Ответить с цитированием
Старый 26.09.2018, 12:06   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,354
Репутация: 5274
По умолчанию

Цитата:
Сообщение от Kukla19 Посмотреть сообщение
есть функция setpencolor(s[i]),
эта функция не имеет никакого отношения к CRT
если Вам нужна графика, то Вы подключаете модуль GraphABC
и вот там есть ваши цвета с cl...
и там есть тип Color
массив можно задать так:
Код:

uses GraphABC;
var s: array[1..5] of Color := (clRed,clGreen,clLightGray,clBlack,clBlack);

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 26.09.2018, 13:08   #8
Kukla19
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 16
Репутация: 10
По умолчанию

Спасибо, все понятно.
Kukla19 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку неправильно выводит номер первого максимального элемента и элем BTS Общие вопросы C/C++ 1 10.04.2015 21:42
freepascal двумерный массив, не могу найти ошибку }|{eka Помощь студентам 3 10.10.2012 20:23
Массив структур. Не могу найти ошибку. Playa-RC Помощь студентам 1 03.12.2011 22:17
Не могу найти ошибку.. одномерный массив, убывающая последовательность Malloperro Помощь студентам 1 23.12.2010 22:15
не могу найти ошибку kaljan775 Общие вопросы C/C++ 2 23.10.2010 17:05


11:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru