![]() |
![]() ![]() |
![]() |
Svetlana |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Помогите, пожалуйста, доработать код.Думаю ошибок там много(((
Сообщение отредактировано: Svetlana - 16.09.2009 18:07 |
sheka |
![]()
Сообщение
#2
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
...
Извините. ![]() Сообщение отредактировано: sheka - 16.09.2009 18:57 |
Svetlana |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
извиняю...)
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Думаю ошибок там много((( Первая из них - неправильный выбор раздела. Тебе это надо сделать на Паскале, или Дельфи? А может быть, Object Pascal? Определись с этим, потом будем смотреть дальше. |
Svetlana |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Object Pascal
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
В таком случае вот тебе информация к размышлению:
type Этого интерфейса в принципе достаточно, чтобы организовать тот класс, который тебе нужен. В Object Pascal-е есть перегрузка (overloading) функций, так что одно имя можно использовать для нескольких методов, при условии, что в них будут передаваться разные параметры (что я и сделал на примере Mult). Второе: обрати внимание, у тебя все время должен изменяться тот экземпляр, для которого вызван метод. Поэтому нет нужды передавать в качестве параметров исходную матрицу, и результат тоже. Только второй параметр - то, что находится справа от знака операции. Еще одно: никогда не делай так, как пыталась сделать в методе umnosh_na_chislo (я про то, что ты внутри метода пытаешься заставить пользователя ввести само число, на которое надо умножить матрицу.) Этого делать нельзя ни в коем случае: метод занимается ТОЛЬКО перемножением матрицы на число. Всё, больше ничем. Он получает на вход ТОЛЬКО число, на которое надо умножить матрицу. Как и когда ты получаешь от пользователя это число - это твоя проблема, метод об этом знать ничего не должен, это не его дело. Его дело - получить матрицу и число, и перемножить их. Точка. Не пытайся возхложить на методы чужую работу. Каждый должен заниматься своим делом. Кто-то складывает, кто-то перемножает, кто-то вводит данные, кто-то выводит их. А не "все вперемешку". Тему переношу в 32-битные компиляторы, там гораздо ближе к Object-Pascal-ю. Дальше сама справишься? |
Svetlana |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо,стало яснее. Только у меня ещё одна проблема:в первой же процедуре ввода. Она меня выбрасывает из командной строки после ввода первого элемента массива. Почему?
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Я не вижу у тебя нигде инициализации массива Х в классе... У тебя просто попытка записи в неинициализированную переменную. Напиши свой конструктор, в котором сделай SetLength этому массиву, тогда все будет работать. Только вот M, N надо бы знать ДО инициализации.
|
Svetlana |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо
![]() |
Svetlana |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Решила написать работающий код(может кому-нибудь пригодится):
Сообщение отредактировано: Svetlana - 14.10.2009 16:34 |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
![]() Цитата Procedure Add (const A,B:veshmatr; var C:veshmatr); Зачем понадобилось в Transpose, например, заставлять пользователя вводить количество строк/столбцов? Что, класс не знает, сколько столбцов, а сколько строк в той матрице, которую он хранит? Знает (иначе зачем тебе M и N?). Почему для печати матрицы надо делать вот этот ужас: Цитата M3.vivod(M3) В общем, эту программу можно значительно упростить и сделать работу с классом гораздо более ясной и понятной... Чуть позже покажу, как... |
Svetlana |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Хорошо,буду ждать
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Ну вот. Сравни с твоей реализацией, и скажи, с чем удобнее работать? Можно и дальше улучшать, кстати, это еще не самый окончательный вариант. Если честно, я думал, ты сама уже все сделала - столько времени прошло.
program lab_a; |
Svetlana |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Ну вот. Сравни с твоей реализацией, и скажи, с чем удобнее работать?
Конечно же этот вариант лучше,причём намного Если честно, я думал, ты сама уже все сделала - столько времени прошло. На самом деле я сдала эту работу и совсем о ней не вспоминала...Спасибо Сообщение отредактировано: Svetlana - 3.11.2009 15:36 |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2024 13:47 |