Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386

Матричный калькулятор

03.11.2013, 14:58. Показов 2673. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это умножении матрицы на число.
StringGrid3.Cells[i,j]:=StringGrid1.Cells[i,j]*StrToFloat(Edit1.Text);
У меня выдает ошибку мол разные типы данных перемножаются. Первые два типа - это строки, а 3-е число так ведь?
Что мне делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.11.2013, 14:58
Ответы с готовыми решениями:

Матричный калькулятор
Помогите написать код для кнопки, чтобы она удаляла все цифры из заполненной таблицы. (Делаю матричный калькулятор и нужна такая кнопка)

Матричный калькулятор, умножение матрицы на число
Умножение матрицы на число. for i:=1 to n do for j:=1 to n do StringGrid3.Cells:=StringGrid1.Cells*StrToFloat() Мне не понятно,...

Матричный калькулятор, умножение матрицы на матрицу
Надо сделать операцию по умножению матрицы на матрицу.

14
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 12
03.11.2013, 18:14
Ты бы, перед тем, как за проект браться, хоть какую-нибудь книжку по Паскалю почитал, чтобы хотя бы основные понятия о программировании иметь... Мне, к примеру, неинтересно пересказывать тебе содержимое учебника, тем более, что ты и читать это не будешь, тупо скопипастишь код, и опять потом при очередном его изменении скажешь, что всё не так...
0
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
03.11.2013, 18:27  [ТС]
Pascal
1
2
3
for i:=0 to StringGrid1.ColCount do
 for j:=0 to StringGrid1.RowCount do  
StringGrid3.Cells[i,j]:= FloatToStr( StrToFloat(StringGrid1.Cells[i,j]) * StrToFloat(Edit1.Text) );
Я разобрался с Edit1? просто добавил на форму(в коде ничего не писал).
И сейчас операцию умножения написал так:
Pascal
1
StringGrid3.Cells[i,j]:= FloatToStr( StrToFloat(StringGrid1.Cells[i,j]) * StrToFloat(Edit1.Text) );
Он при нажатии на умножение выдает ошибку Edit1 is an invalid float.
0
Заблокирован
03.11.2013, 20:22
В edit число ввел?
0
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
03.11.2013, 20:30  [ТС]
Нет...постой)) как в Edit1 ввести число? Я добавил его на форму и теперь у меня там окно с надписью Edit1. )))))
Может быть стоит прописывать все числа так:
Edit1.Text:=Edit1.Text+'1' и то же самое с остальными цифрами?
Или что вы имели ввиду?
Я недавно начал работать с Лазарусом и плохо ориентируюсь....
0
Заблокирован
03.11.2013, 21:13
Если лень вводить число во время выполнения, то напиши edit1.text:='3.14';
1
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
03.11.2013, 21:16  [ТС]
А где это написать то?(((
Если написать так
Pascal
1
StringGrid3.Cells[i,j]:= FloatToStr( StrToFloat(StringGrid1.Cells[i,j]) * StrToFloat(Edit1.Text:='3.14') );
то не работает...
Я ведь я должен умножить матрицу на любое число, а не только на 3.14...
0
Заблокирован
03.11.2013, 21:26
Тогда во время выполнения программы в edit ввести это число. Как не работает?
1
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
03.11.2013, 22:31  [ТС]
А! Я вас понял! Работает, записывает почему то лишь 1 столбик, а другие нет..
Наверно в 3 матрице тоже поставить регулировщик количества столбцов и строк?
0
Заблокирован
03.11.2013, 22:59
А почему в stringgrid3 заносится результат умножения числа на stringgrid1?
1
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
04.11.2013, 09:36  [ТС]
Да даже если записывать StringGrid1 то всё равно умножается только 1 столбик.

Добавлено через 5 минут
А нет! Я нашёл ошибку! Ошибка была в циклах!
Вот теперь все верно работает!
Pascal
1
2
3
4
5
for i:=0 to StringGrid1.ColCount-1 do
for j:=0 to StringGrid1.RowCount-1 do
 
 
StringGrid1.Cells[i,j]:=FloatToStr(StrToFloat(StringGrid1.Cells[i,j])*StrToFloat(Edit1.Text));
0
Заблокирован
04.11.2013, 09:38
Еdit1.text и stringrid1.cells[i,j] - это строки. Их перемножать нельзя. Нужно перевести их в число функцией strtofloat, перемножить, а затем перевести обратно в строку - floattostr
1
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
04.11.2013, 18:28  [ТС]
А как быть с умножением матрицы на матрицу? Можете ещё здесь помочь?
0
827 / 244 / 47
Регистрация: 24.01.2013
Сообщений: 750
04.11.2013, 20:36
Jessy James, у тебя архитектурно неправильно построено приложение.
Нужно сперва определить контейнер для хранения твоей матрицы, например двумерный массив чисел double,
а StringGrid рассматривать только как средство отображения на экран и редактирования элементов матрицы.
Тогда при каждом действии с матрицей не надо будет преобразовывать строку в число, и обратно в строку.

http://ru.wikipedia.org/wiki/%... 0%B8%D1%86
1
3 / 4 / 0
Регистрация: 24.06.2013
Сообщений: 386
04.11.2013, 20:44  [ТС]
Ну раз уж я так сделал...Но мой вариант тоже правильный, мы в классе так делаем.
Правило перемножения матриц на бумаге я знаю...А вот как это все описать на коде?)
Может попробовать через 3 цикла, или как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2013, 20:44
Помогаю со студенческими работами здесь

Матричный калькулятор, возведение матрицы в степень
Нужно сделать возведение матрицы в n-ую степень(натурального числа). Это умножение матрицы на матрицу. Какие изменения нужно здесь...

Матричный калькулятор, как добавить ограничение на одинаковый размер матриц?
Как нанести ограничения на столбцы и строки при сложении матриц? То есть, мы можем сложить только те матрицы где количество столбцов и...

Матричный калькулятор
не могу переделать код си в qt. помогите хотя бы с библиотеками дальше может быть разберусь. Добавлено через 1 минуту код есть...

Матричный калькулятор
Вобщем хочу сделать калькулятор,который складывает,вычитает,умножает и транспонирует матрицы. Я начинающий,для меня это все ново,пытался...

матричный калькулятор
очень надо...помогите чем сможете. вот есть проект.. есть ошибочка маленькая помогите кто сможет


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru