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

Перемножение квадратных матриц с вещественными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подпишите функции. Матрица http://www.cyberforum.ru/cpp-beginners/thread1305621.html
void transp(double O, double L, int M, int N) { for (int i=0;i<M ;i++) for (int j=0;j<N ;j++) L=O; } void sort(double A, int M, int N) {
C++ Бинарное дерево Здравствуйте, нужно помощь в написании программы. Условие: Каждая вершина бинарного дерева содержит: - 2 указателя (на каждый альтернативный путь поиска - на поддерево); - данные - указатель на объект, содержащий данные, принадлежащие этой вершине. Каждая вершина содержит 3 поля: поле данных и два поля указателей на другие вершины. Левый указатель служит для ссылки на вершину нижнего... http://www.cyberforum.ru/cpp-beginners/thread1305618.html
C++ Вывести кусок строки между скобками
Я нашел программу которая исключает то что внутри скобок, но не могу перевернуть ее так чтобы выводило наоборот, вот код: #include <iostream> #include <conio.h> #include <malloc.h> using namespace std; int main() { char *str=(char*)malloc(128); cin >> str;
Интегралы, площадь заштрихованной области C++
Подскажите , пожалуйста. Даже не знаю с чего начинать. Проинтегрировать на листочке до окончательной формулы не получилось. Пыталась через WolframAlpha - не получилось тоже.
C++ Удалить из массива все элементы, в записи которых есть заданная цифра http://www.cyberforum.ru/cpp-beginners/thread1305595.html
дан одномерный массив целых чисел заполненный случайным образом числами из промежутка удалить из него все элементы в записи которых есть заданная цифра. Hапишите полный текст программы пожалуйста. Спасибо
C++ Кусок строки находящийся между скобками Нужно максимально оптимально вывести кусок строки находящийся между скобками. Просто так я напишу, но нужно именно максимально оптимально. Помогите пожалуйста! подробнее

Показать сообщение отдельно
spk57
0 / 0 / 0
Регистрация: 04.07.2014
Сообщений: 14
20.11.2014, 11:34  [ТС]     Перемножение квадратных матриц с вещественными числами
ZSS, про запятую Вы были правы, но все же решил реализовать полностью на с++.
Теперь работает.
Вот рабочий вариант:

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
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "rus");
    if (argc < 3)
    {
        cout << "Не заданы параметры" << endl;
        return 1;
    }
 
    fstream firstFile(argv[1], ios::in);
    fstream secondFile(argv[2], ios::in);
    fstream resultFile("result.txt", ios::out);
 
    /*Определение размера матриц*/
    string testStr;
    int size1 = 0, size2 = 0;
    getline(firstFile, testStr);
    for (int i = 0; i < testStr.size(); ++i)
    {
        if (testStr[i] == ' ') size1++;
    }
    testStr.clear();
    getline(secondFile, testStr);
    for (int i = 0; i < testStr.size(); ++i)
    {
        if (testStr[i] == ' ') size2++;
    }
 
    if (size1 != size2)
    {
        cout << "Матрицы разных размеров" << endl;
        return 1;
    }
 
    /*Считывание первой матрицы*/
    //создание матрицы
    float**firstMatrix = new float*[size1];
 
    //считывание матрицы
    firstFile.seekg(0);
    for (int i = 0; i < size1; ++i)
    {
        firstMatrix[i] = new float[size1];
        for (int j = 0; j < size1; ++j)
            firstFile >> firstMatrix[i][j];
    }
 
    /*Считывание второй матрицы*/
    //создание матрицы
    float**secondMatrix = new float*[size1];
 
    //считывание матрицы
    secondFile.seekg(0);
    for (int i = 0; i < size1; ++i)
    {
        secondMatrix[i] = new float[size1];
        for (int j = 0; j < size1; ++j)
            secondFile >> secondMatrix[i][j];
    }
 
    cout << "Матрицы считаны" << endl;
 
    //результурующая матрицы
    float **resultMatrix = new float*[size1];
    for (int i = 0; i < size1; ++i)
        resultMatrix[i] = new float[size1];
 
 
    /*Перемножение матриц и вывод результата в файл*/
    cout << "Перемножаю матрицы" << endl;
    clock_t t1 = clock();
 
    for (int i = 0; i < size1; i++)
    {
        for (int j = 0; j < size1; j++)
        {
            resultMatrix[i][j] = 0;
            for (int k = 0; k < size1; k++)
            {
                resultMatrix[i][j] += firstMatrix[i][k] * secondMatrix[k][j];
            }
            resultFile << resultMatrix[i][j] << ' ';
        }
        resultFile << endl;
    }
    firstFile.close();
    secondFile.close();
    resultFile.close();
 
    cout << "Подсчет окончен. Результат сохранен в result.txt" << endl;
    cout << "Время выполнения: " << (float)(clock() - t1) / CLOCKS_PER_SEC << endl;
 
    return 0;
}
 
Текущее время: 17:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru