|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.11.2011, 21:37 | #1 |
Новичок
Джуниор
Регистрация: 17.11.2011
Сообщений: 3
|
Поменять максимальный элемент матрицы на минимальный
Вот программа:
Код:
Matrix:Array[1..3,1..3] of Byte = (1,2,3,4,5,6,7,8,9); Помогите найти ошибку. ________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 17.11.2011 в 22:15. |
17.11.2011, 21:59 | #2 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Цитата:
|
|
17.11.2011, 22:35 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Ошибка 85: Error 85 │";" expected т.е. компилятор ждёт точку с запятой, а её нет. И курсор становит в то место, где эта самая точка с запятой должна быть. А именно сразу после of Byte [ТУТ] если комплятор TurboPascal, тогда можно (и нужно) матрицу объявить в разделе CONST. Это будет константная переменная. Т.е. переменная, которой присваивается изначально значение, и потом их можно изменять. Внимание! в PascalABC константные переменные изменять совсем нельзя, а в старших версиях Delphi и FreePascal можно изменять или нет - задаётся опционально. А сколько ошибок, где Вы путаете XMax, XMin, YMax, YMin, Max и Min ?!!! посмотрите, каким переменным, например, Вы единички присваиваете!! Короче, Вам нужно использовать такой код: Код:
|
|
17.11.2011, 22:52 | #4 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 109
|
Serge_Bliznykov, вы же матрицу как константу записали, елементы не поминяются мистами, нужно или ещё одну матрицу в переменную записать или же просто её как переменную записать:
Код:
|
17.11.2011, 23:43 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
там, где я говорю про константную переменную. И тогда, вдруг, Вы поймёте, что в TurboPascal в константе значения МОЖНО ИЗМЕНЯТЬ. а вот, наоборот, в TurboPascal задавать значения для переменных в разделе VAR - НЕЛЬЗЯ! |
|
18.11.2011, 05:28 | #6 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 109
|
Serge_Bliznykov, извеняюсь тогда, на своей Делфи7 писал. Нужно и себе TurboPascal поставить)
|
18.11.2011, 08:47 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
или если нужно код под MS DOS генерить. А иначе смысла ставить и использовать TP нет. Delphi по любому и лучше и мощнее! p.s. чтобы закрыть тему о возможности изменять в коде типизированные константы. во всех известных мне версия Delphi есть опция: [ ] Assignable typed constants Цитата:
что позволяет использовать и Const Matrix:Array[1..3,1..3] of Byte = ((1,2,3),(4,5,6),(7,8,9)); и Var Matrix:Array[1..3,1..3] of Byte = ((1,2,3),(4,5,6),(7,8,9)); и там и там позволяет изменять значения константы. в Borland Delph 2006 (Delphi 7 под рукой нет, но уверен, что там то же самое) и выше. Эта опция по умолчанию ВЫКЛЮЧЕНА (что НЕ ПОЗВОЛЯЕТ присваивать что-то типизированным константам.) если в опциях compiler [ ] Assignable typed constants если поставить "птичку" - то компилятор позволяет присваивать значения таким константам. Хотя, если речь идёт о Delphi, то я бы всё же рекомендовал использовать Var ... = значение (там, где это допустимо, разумеется!) |
||
18.11.2011, 12:12 | #8 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
На самом деле, смутило, просто я это писал уже тогда, когда надо было ложиться спать (на работу вставать рано).
Я не был уверен, чтоб переменные можно инициализировать. Я вот думаю, а что, если бы объявить этот массив в разделе CONST. Кроме того, чтобы объявить двуменый массив, не надо использовать точку я запятой. То есть, всё пишется так: Код:
|
18.11.2011, 13:42 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi Максимальный и минимальный элемент массива | Arden Virth | Помощь студентам | 1 | 25.10.2011 11:04 |
В заданной последовательности поменять местами максимальный и минимальный члены | amegi | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.01.2011 21:11 |
Паскаль! поменять местами максимальный и минимальный элемент матрицы. | wrmarw | Помощь студентам | 4 | 08.05.2010 13:06 |
Для файла определить максимальный и минимальный элемент | zheka89 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 27.04.2010 09:46 |
Максимальный элемент массива поменять местами с четвертым. | Katie | Помощь студентам | 2 | 13.01.2010 05:59 |