|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Задачка на PASCAL |
|
|
Задачка на PASCAL
|
Crazy Wolf
Сообщения: n/a |
Приветствую ALL
Недавно подкинули задачу на Паскале.. помогите решить плиз С помощью ООП составить описание объектного типа TMatrix обеспечивающего размещение матрицы произвольного размера с вариантностью изменения числа строки столюцов и вывода на экран подматрицы любого размера и всей матрицы Я сам потихоньу изучаю Си и как это сделать на Си++ в принципе знаю... (я надеюсь) но как это сделать на Паскале? |
|
Отправлено: 21:48, 09-01-2003 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Crazy Wolf
Цитата:
|
|
------- Отправлено: 12:56, 10-01-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 130
|
Профиль | Сайт | Цитировать Чтобы матрица была произвольного размера, память для нее надо выделять динамически, и адреса подсчитывать вручную. (Т.е. к смещению базового адреса прибавить (номер строки-1)*(число столбцов)*размер элемента+(номер столбца-1)*размер элемента)
Все остальное - примерно также, как и в C. |
------- Отправлено: 12:43, 12-01-2003 | #3 |
Crazy Wolf
Сообщения: n/a |
XXXX Pro
А попдробнее....как в Паскале с адресами работать.. если можно кусок любого кода для примера.... |
Отправлено: 17:16, 12-01-2003 | #4 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать Если это учебная программа должна быть написана под ДОС, то мои соболезнования.
Сейчас языки срастаются потихоньку, дерут друг у друга самое ороше, а вот Паскаль 7.... там например выделение памяти через new совсем не так как в С работает. В С как просто было char *str = new char[20]; //не нужно стало delete []str; А в паскале так и не получилось динамически выделять память, (у меня конечно) он постоянно хотел знать сколько надо выделять и до маразма дошло - на каждый вариант свой тип данных вводить, под который он уже тогда память динамически выделял. Может и проще можно |
|
------- Отправлено: 06:54, 14-01-2003 | #5 |
Crazy Wolf
Сообщения: n/a |
Ну тогда рискуя вызвать общий гнев попрошу привести кусок кода с использованием ООП в ПАСКАЛЕ....
Добавлено: Т.е. я так понимаю что в Паскале нужно создать подобие класса в Си++.... как это делать? |
Отправлено: 16:40, 14-01-2003 | #6 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать type
TElement = Integer; TRow = class Items:array of TElement; end; TMatrix = class Rows:array of TRow; end; Вот примерно так. |
------- Отправлено: 18:33, 14-01-2003 | #7 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать Я извиняюсь, конечно, это работать будет только в Delphi мне кажется, потому что границы массива не определены. (учитывая стиль T??????, тем более)
а под ДОС можно было *в функцию передавать массив без границ, только он его извлекать не хотел. Crazy Wolf А на чем писать надо, может "мой" досовский паскаль и не нужен? [s]Исправлено: Crew, 8:14 15-01-2003[/s] |
------- Отправлено: 08:12, 15-01-2003 | #8 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать Crew
Цитата:
vasketsov А это тягомотно. Можно проще, правда без функций-членов: Crazy Wolf (допустим, тебя попросили в данный момент создать матрицу 6x7) TMatrix = class public: *V: Variant; *constructor Create(const Bounds: array of Integer); end; constructor TMatrix.Create(const Bounds: array of Integer); begin *V := VarArrayCreate(Bounds, varInteger); end; Matrix: TMatrix; begin *Matrix.Create([1,6,1,7]); {Первая пара нач. и конеч. индексы первого измерения, вторая пара - соотв для второго. Нумеруются от 1 до 6 и от 1 до 7} *Matrix.V[1,1] := 1; {и т.д.} end. [s]Исправлено: shurikan, 9:12 15-01-2003[/s] Да! Это на Delphi [s]Исправлено: shurikan, 9:17 15-01-2003[/s] |
|
------- Отправлено: 09:09, 15-01-2003 | #9 |
Crazy Wolf
Сообщения: n/a |
Crew
Цитата:
|
|
Отправлено: 20:22, 15-01-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) | Loading | Программирование и базы данных | 41 | 20-05-2015 15:28 | |
Delphi - Задачка на Pascal'e !! | stolyar | Программирование и базы данных | 4 | 21-11-2009 14:21 | |
Задачка | VuDZ | Программирование и базы данных | 4 | 02-04-2003 17:44 | |
Задачка | noname00.pas | Программирование и базы данных | 6 | 07-12-2001 11:43 | |
Задачка... | noname00.pas | Программирование и базы данных | 4 | 28-11-2001 03:17 |
|