164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
||||||||||||||||
1 | ||||||||||||||||
Встречено 'i', а ожидалось ';'06.03.2019, 23:22. Показов 4943. Ответов 45
Метки нет (Все метки)
во всех строках типа
вот например 2 примера одной программы:
Кликните здесь для просмотра всего текста
и пример чуть изменённой с эмулятором массива
0
|
06.03.2019, 23:22 | |
Ответы с готовыми решениями:
45
Встречено 'else', а ожидалось ';' Встречено '.', а ожидалось ';' Встречено ';', а ожидалось ')' Встречено 'else', а ожидалось ';' |
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
07.03.2019, 00:13 | 2 |
С чего вы решили что так будет работать? Сложение на этапе компиляции работает только для строк и символов, и только для константных:
'abc'#13#10'def' А если надо так вставить число в строку - есть несколько способов. Лучший (самый быстрый и красивый) это через форматную строку: $'введите координаты X Y Z {i}-й точки:' Если поставить перед строкой $ - в ней можно будет указывать в {} любые выражения (то есть не только переменные).Компилятор разворачивает такую строку в следующий код: string.Format('введите координаты X Y Z {0}-й точки:', i) Из альтернативных методов - проставить запятый, чтоб writeln вывело 3 отдельных выражения, что медленнее чем 1 большой строкой. Так же можно проставить плюсы, чтоб сработало сложение строк (и числа), но это и ещё медленнее.
1
|
Singleberry
2 / 2 / 0
Регистрация: 10.12.2017
Сообщений: 107
|
|||||||||||
07.03.2019, 08:22 | 3 | ||||||||||
1
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
||||||
07.03.2019, 17:10 [ТС] | 4 | |||||
а как с этой строчкой быть
х ведь как бы с индексом i,
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
07.03.2019, 17:12 | 5 |
А зачем вы поставили там внутри лишний ' ?
1
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|||||||||||
07.03.2019, 17:19 [ТС] | 6 | ||||||||||
не знал что и так можно, на это гемноно по моему, и проще с доларом
Добавлено через 1 минуту что где?
Добавлено через 1 минуту а всё понял мой косяк
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
07.03.2019, 17:21 | 7 |
У вас: Writeln('$| i |x='{x[i]}' Надо : Writeln('$| i |x={x[i]}' Если вы используете форматную строку - у вас кавычки должны быть в начале и конце. А если ну так уж прямо надо поставить кавычку внутри строки - поставьте их 2, тогда 1 из них экранируется (её будет считать именно символом а не концом строки), а другая исчезнет: $'Строка в которой есть символ ковычки тут >>> '' <<<'
0
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|||||||||||
07.03.2019, 17:24 [ТС] | 8 | ||||||||||
если так
$'Строка в которой есть символ ковычки тут >>> '' <<<'
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
||||||
07.03.2019, 17:27 | 9 | |||||
Вы точно такое же как раньше скинули.
Весь код скиньте.
0
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|||||||||||
07.03.2019, 17:30 [ТС] | 10 | ||||||||||
вот одновременно и 2й вариант таже программа но с имитацией массива, Кликните здесь для просмотра всего текста
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
07.03.2019, 17:32 | 11 |
Ну так правильно, нет там X. Есть только
n[i].x .
0
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|||||||||||||||||||||
07.03.2019, 17:51 [ТС] | 12 | ||||||||||||||||||||
Добавлено через 51 секунду а нет, не так, у меня вообще паскаль ошибку выдал и отрубился Добавлено через 3 минуты
почему? Добавлено через 3 минуты погуглю.... Добавлено через 7 минут вообщем переписал из integer в string,
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
07.03.2019, 20:02 | 13 |
0
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|
07.03.2019, 22:55 [ТС] | 14 |
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
08.03.2019, 00:39 | 15 |
Нет, там ошибку не такую выводит. Что вы изменили чтоб получить "Нет индексного свойства" - не представляю. Много чего сделать можно было.
Дайте код дающий именно эту ошибку - смогу сказать что не так. А вообще - я вам уже сказал. x[i] надо заменить на n[i].x .[] - можно вызывать только для массивов. А x - это не какое то имя которое видно отовсюду. Это поле записи point , поэтому его видно только по точке для веременных типа point .А после with у вас без точки работает, и выглядит как будто x видно отовсюду - потому что компилятор сам дополняет ваш код, увидев оператор with .Но - лучше не используйте его. Вы не только усложняете себе этим жизнь - это ещё и устаревшая конструкция. Разработчики не ставят в приоритет фикс багов связаных с with , и более новые конструкции с ними не поддерживаются.
1
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|||||||||||||||||||||
08.03.2019, 19:11 [ТС] | 16 | ||||||||||||||||||||
вообщем я переделал под тип типа
Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива. Стек: в structure.structure.$Main() в C:\Users\User\Desktop\Program2.pas:строка 21 в Program2.Program.Main() попробую поковыряться ещё Добавлено через 5 минут мда, а если так сделать
Добавлено через 4 минуты а вроде разобрался, поменял со стринг на интегер
--------------------------------------------------- ребя, а как сделать чтоб вводилось в строчку а не в столбик например вот так введите координаты X Y Z 1й точки: 1 2 3 а не так введите координаты X Y Z 1й точки: 1 2 3 ? пока погуглю...
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
08.03.2019, 19:16 | 17 |
Что то вы не всё доправили. По крайней мере в программе, которую скинули.
Раз вы получили ошибку времени выполнения - я так понимаю вы скинули снова не ту программу. Объясняйте нормально, и без ругательств, пока у меня ещё осталось желание вам помогать. Что именно "получается"? Добавлено через 57 секунд А в чём проблема? Просто вводите через пробел.
1
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
||||||
08.03.2019, 19:27 [ТС] | 18 | |||||
у меня просто x,y,z: string; было, по этому и какая-то "херня" получилась,, я на integer поменял....
вот конечный вариант
Кликните здесь для просмотра всего текста
введите кол-во точек от 1 до 10:
3 введите координаты X Y Z 1й точки: 1 2 3 введите координаты X Y Z 2й точки: 3 2 1 введите координаты X Y Z 3й точки: 2 3 4 введите цвета R G B 1й точки: 1 2 3 введите цвета R G B 2й точки: 1 3 2 введите цвета R G B 3й точки: 3 1 2 |точка| координаты | цвет | | 1 |x=1 y=2 z=3 |r=1 g=2 b=3| | 2 |x=3 y=2 z=1 |r=1 g=3 b=2| | 3 |x=2 y=3 z=4 |r=3 g=1 b=2| я и не знал что через пробел можно вводить,, или забыл... Добавлено через 4 минуты а это счичается как многослойная структура данных?
0
|
2306 / 1418 / 515
Регистрация: 07.04.2017
Сообщений: 4,719
|
|
08.03.2019, 19:46 | 19 |
with все уберите, они вам теперь не нужны.
Первый раз слышу это понятие. Киньте ссыль куда то типа википедии.
0
|
164 / 50 / 36
Регистрация: 13.04.2012
Сообщений: 595
|
|
09.03.2019, 00:54 [ТС] | 20 |
ну это мне по заданию надо многослойную структуру record изобрести, типа:
структура 1 – точка, содержит в себе 2 поля – координаты и цвет; структура 2 – координаты, содержит 3 поля – координаты X, Y и Z; структура 3 – цвет, содержит 3 поля – значения каналов R, G, B. вот я и пытаюсь что-то подобное сделать
0
|
09.03.2019, 00:54 | |
09.03.2019, 00:54 | |
Помогаю со студенческими работами здесь
20
Встречено 'until', а ожидалось ';' Встречено else, а ожидалось ';' Встречено '.', а ожидалось ';' Встречено 'else', а ожидалось ';' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |