Форум программистов, компьютерный форум CyberForum.ru

Написать функцию которая будет умножать любую строку на уже заданную матрицу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки при компиляции "multiple definition" http://www.cyberforum.ru/cpp-beginners/thread1745908.html
Здравствуйте, помогите исправить ошибки 242.(на фото часть)
C++ Не переставляет строки В массиве А(N,M) строки, содержащие нулевые элементы, надо переставить в порядке возрастания суммы цифр элементов последнего столбца. Указатель на строки. Строки с нулевыми элементами находит, но не переставляет. Что не так? Метод пузырька, если что void perestanovka(int ** x, int n, int m){ bool fl = false; int *mas=new int ; int ind=0; for (int i = 0; i < n; i++){ for (int j = 0;... http://www.cyberforum.ru/cpp-beginners/thread1745879.html
C++ Вывести в файл таблицу значений функции с заданным шагом
1,Таблица значений функции 4 Постройте таблицу значений функции y = \sqrt{5-x^3} для x\in c шагом h. Если в некоторой точке x функция не определена, то выведите вместо её значения undefined. Формат входных данных Во входном файле записаны действительные числа a, b и h(-10 \le a, b \le 10, 0.05 \le h \le 1.6). Все числа заданы не более чем с двумя знаками после десятичной точки. Формат...
C++ Чем сшивать изображения
Здравствуйте. Подскажите,чем можно сшивать изображения? ОpenCV сшивает слишком долго. PanoTools пока не пробовал, может подойдёт. Скажите, сложно ли самому написать это дело и где можно почитать про последовательность сшивки.
C++ Объясните строку: "while (x[i])" http://www.cyberforum.ru/cpp-beginners/thread1745844.html
#include <iostream> #include <string> #include <cmath> using namespace std; int main(){ string x; double x10=0; int i=0, c=0; cout << "vvedi chislo v (8): "; cin >> x;
C++ Расшифровка Морзе Делаю шифрование азбукой Морзе. Зашифровка готова, а вот с расшифровкой проблема: процесс зацикливается бесконечное число раз, а найти ошибку не могу. Может вы поможете? Добавлено через 1 минуту void __fastcall TForm1::Button2Click(TObject *Sender) {String te; Memo1->Clear(); int g; for (int i=1; i<=Memo2->Lines->Count; i++) {so=Memo2->Lines->Strings; for (int o=1; o<=so.Length();... подробнее

Показать сообщение отдельно
Beeeeetlejjuice
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 35
26.05.2016, 10:56  [ТС]     Написать функцию которая будет умножать любую строку на уже заданную матрицу
Цитата Сообщение от Remuless Посмотреть сообщение
делайте более конкретные формулировки задачи. по каким правилам строка умножается на матрицу, что должно быть в результате и все остальное, сопутствующее задаче. сейчас это похоже "Иди туда, не знаю куда, найди то, не знаю что".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include "Matrixes.h"
#include <math.h>
#include <QApplication>
#include <iostream>
#include <iomanip>
 
QTextCodec *pCodec = QTextCodec::codecForName("Windows-1251"); //1
using namespace BigMatrix;
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    try
    {
        QString FileName = QFileDialog::getOpenFileName(NULL,
            Rus("Открытие файла с исходными данными"), "",
            Rus("Текстовый файл(*.txt)"), NULL, QFileDialog::Option::ReadOnly); //2
        if (FileName.isEmpty())
            throw Error(Rus("Передумали работать"), Error::ErrOK);
        QFile File(FileName);  //3
        File.open(QIODevice::ReadOnly);
        if (!File.isOpen()) throw
            Error(Rus("Файл исходных данных ") + FileName +
            Rus(" не открылся!"), Error::ErrFileOpen);
        Stream Stream(&File); //4
        Matrix a(Stream);
        Stream.readLine();
        a.Show();
 
        int N = a.RowCount();
        int M = a.ColumnCount();
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < N; j++)
            {
                if (a(i, j) <= a(j, i))
                {
                    double B = a(i, j);
                    a(i, j) = a(j, i);
                    a(j, i) = B;
                }
                else a(i, j) = sqrt((abs(sin(a(j, i)))));
            }
        }
 
        double P = 1.0;
        for (int j = 1; j < N; j++)
        {
            double D = 0.0;
            for (int i = 0; i < N; i++)
            {
                D += sqrt(a(i, j));
            }
            P *= D / N;
        }
 
        Matrix C(N, N);
 
 
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < N; j = j + 2)
                C(i, j) = exp(sin(P * a(i, j)));
            for (int j = 1; j < N; j = j + 2)
                C(i, j) = sqrt(P * (abs(cos(a(i, j)))));
        }
        C.Show();
 
 
    do
    {
    FileName = QFileDialog::getSaveFileName(NULL,
        Rus("Сохранение результатов расчета"), "", Rus("Текстовый файл(*.txt)"));
    if (FileName.isEmpty())
        if (QMessageBox::question(NULL, Rus("Файл не выбран"), Rus("Не хотите сохранять?")) == QMessageBox::Yes)
            return 0; //5
        else
            continue;
    File.setFileName(FileName);  //6
    File.open(QIODevice::WriteOnly); //7
    if (!File.isOpen())
    {
        QMessageBox::critical(NULL, Rus("Ошибка!"), Rus("Файл вывода результатов ") +
            FileName + Rus(" не открылся!"));
        continue;
    }
} while (FileName.isEmpty());
(~a).Save(Stream); //8
C.Save(Stream);
}
catch (Error Err)
    {
        Err.showMsg();
        return Err.GetError();
    }
    catch (std::bad_alloc)
    {
        QMessageBox::critical(NULL, Rus("Ошибка!"),
            Rus("Недостаточно памяти для создания объекта"));
        return Error::NoMemory;
    }
}
вот код, надо матрицу C умножить на вектор из 3 чисел(любой, можно рандомный) и вывести результат
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru