Дмитрий Бурабаев
Дмитрий Бурабаев

Помогите найти ошибку. Паскаль. Ошибка в ситаксисе



У i задан буквенный тип
a.ind тоже буквенный тип. Почему ошибка из-за преобразования в integer?

Можно как-нибудь сделать массив именно с буквенными индексами?

Все, получилось, спасибо)
Да, вторую ошибку с (а [m+1] := а [m+1] + 1) я уже заметил, нужно a[s[m+1]].k:=a[s[m+1]].k+1 вместо этого
Суть задачи была в том, чтобы сосчитать количество слов произвольного текста, оканчивающегося символом *, начинающихся на каждую из букв английского языка.

Hадежда Рысенкова

Патамучта индекс массива должен быть целым числом.
Надо написать a [ ord(i)-ord('a')+1 ] . ind := i;

ТМ
Татьяна Михайлова

Все законно. У вас поле элемента массива имеет символьный тип, как и переменная i, т. е. вы можете выполнять присвоение

a[index].ind := i;

а вот индекс у вас объявлен числовым (a : array[1..26] of zap), так чего же вы хотите? Да и как вам видится преобразование символа "а" в единицу?

> Можно как-нибудь сделать массив именно с буквенными индексами?

Конечно можно!

a : array['a'..'z'] of zap;

Если не секрет, чего вы хотите добиться? Кстати, вот этот номер а [m+1] := а [m+1] + 1; не прокатит по двум причинам. Во-первых, к записи нельзя прибавлять константу, а во-вторых если индекс символьный, то следующий элемент находится не простым добавлением единицы, а вычислением.

Похожие вопросы
Помогите найти ошибку в паскале ABC
помогите найти ошибку в программе на языке паскаль
Помогите найти ошибку (паскаль)
Помогите найти ошибку в программе. Паскаль.
помогите найти ошибку паскале
Помогите найти ошибку в Паскале
Языка паскаль не могу найти ошибку, помогите!
помогите найти ошибку в коде турбо паскаль
Помогите найти ошибку в коде Паскаль
Помогите найти ошибку Паскаль