![]() |
|
|
#1
|
|||
|
|||
![]() Ребята, подскажите пожалуйста. Нужно объяснить "умными" словами )))
Все задания сделал, а вот с этими не совсем уверен как правильно. const i=8; j=9; var A:array[-3..15] of integer; B:array[boolean] of char; С:array[char] of 1..100; Почему вот эти обращения неправильны? 1) b[a>0]:='x'; 2) b[1]; Правильны или неправильны эти обращения и почему? 3) C['a']:=a[0]; 4) a[0]:=['a']; |
#2
|
||||
|
||||
![]() Сам подумай.
1) В элемент массива с номером "A>0" записать символ 'x'. Не кажется бредом? 2) Элемент массива 1. Ну элемент, и что дальше? ... А впредь с такими вопросами к преподу. jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
![]() Цитата:
А ведь не кажется... на декларацию этого массива глянь внимательно. |
#4
|
||||
|
||||
![]() b[a>0]:='x'; - с одной стороны, все нормально:
массив b объявлен как B:array[boolean] of char;, и тогда количество элементов массива всего два, с индексами true и false. Следовательно, использование логического выражения в качестве индекса элемента массива b - верно. Однако a - объявлен как массив, а значит в выражении a>0 должден быть указан индекс элемента массива a, а его нет. Вот и ошибка. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#5
|
|||
|
|||
![]() Ну, возможно, ты и прав.
|
#6
|
||||
|
||||
![]() Это кто-же у вас там такой прибабахнутый такие типы делать?
И хотя объявления типов формально верны, я сам, да и думаю никто в здравом уме не будет такое использовать. Это гарантированный геморой с чтением собственного кода уже через месяц. А уж увидеть такое в чужом коде не приведи бог. Столовую вилку в розетку тоже можно засунуть, но кончится это печально. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |