Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 579

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Прошу вашей помощи. Программированием только начинаю заниматься, поэтому практически ничего и не умею. Нужно создать программу сложения двух матриц, элементы которых случайные целые числа, не превышающие по модулю 20. Порядок матрицы должен быть задан пользователем через Edit. Он не должен превышать 10. Сформированные рандомные матрицы и результат сложения должны выводиться в компонент Memo - это для меня самое непонятное.
Помогите, пожалуйста.
Заранее благодарен.
Денис.

Noobas Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Noobas (статус: Посетитель)
Вопрос отправлен: 24 декабря 2009, 10:20
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: webkent

Здравствуйте, Noobas!
Вот код: https://www.delphi-int.ru/code/8cc6fc05
В мемо конечно добавляется не супер ровно, но различить можно. Если нужно чисто ровное добавление, это надо мозги ******* (по крайней мере я себе это так представляю). Если очень надо, пиши в асю 3945550

Ответ отправил: webkent (статус: 2-ой класс)
Время отправки: 24 декабря 2009, 16:00
Оценка за ответ: 5

Комментарий к оценке: Все по теме. Все верно. Все работает. Очень помог.

Мини-форум вопроса

Всего сообщений: 27; последнее сообщение — 26 декабря 2009, 13:22; участников в обсуждении: 4.

Страницы: [« Предыдущая] [1] [2]

Вадим К

Вадим К (статус: Академик), 25 декабря 2009, 17:09 [#21]:

Видимо разъяснения не были поняты.
метод memo1.lines.addstrings ожидает TStrings. И умеет с ним работать. TStringList умеет "мимикрировать" под него, потому что он его наследик:) (это вообще то называется "Полиморфизм" и является одним из базовых понятий объектноориентированного программирования). и никаких проблем.

А вот при присваивании копируется ссылка, то есть всего 4 байта. и memo не ожидает этого. Странно, что такое присваивание не запретили явно.
Галочка "подтверждения прочтения" - вселенское зло.
webkent

webkent (статус: 2-ой класс), 25 декабря 2009, 18:22 [#22]:

Прошу прощения, не заметил addstrings, думал там ":=", просто скопировал строки =)
По поводу полиморфизма я в курсе. Ну получается, ничего плохого в таком присваивании тоже нет:

Memo1.Lines.AddStrings(Summa(StrToInt(Edit1.Text)));
?
webkent

webkent (статус: 2-ой класс), 25 декабря 2009, 18:24 [#23]:

Спасибо, что помогаете продвигаться, а то я бы так всю жизнь и писал бы "Memo1.Lines:=" =)
Вадим К

Вадим К (статус: Академик), 25 декабря 2009, 18:32 [#24]:

Цитата:

Memo1.Lines.AddStrings(Summa(StrToInt(Edit1.Text)));

А где здесь присваивание?
Галочка "подтверждения прочтения" - вселенское зло.
webkent

webkent (статус: 2-ой класс), 26 декабря 2009, 00:44 [#25]:

Ну не присваивание, а добавление, не суть, лучше бы ответили, чем придираться к словам =)
min@y™

min@y™ (статус: Доктор наук), 26 декабря 2009, 10:57 [#26]:

Однако, не ожидал, что из-за такой очевидной вещи, как копирование указателей, тут начнутся такие дебаты! Какая жаль, что я в них не участвовал! :((
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 26 декабря 2009, 13:22 [#27]:

Ну я что, не отвечаю? а к словам я не просто "придираюсь". Людей, часто гениальных в программировании, не берут на работу только по той причине, что они не могут корректно объяснить свои мысли. Надо знать правильную терминологию.
Галочка "подтверждения прочтения" - вселенское зло.

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 25 апреля 2026, 23:16
Выполнено за 0.03 сек.