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

Обработка матриц - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Generic inheritance. Templates http://www.cyberforum.ru/cpp-beginners/thread632350.html
Код компилируется. Не могу разобраться то ли я как не правильно иерархию построил то ли компилятор глючит. Вообщем если я пишу в NumericArray.cpp NumericArray<Type>:: то MS VC 2010 выдает мне список из методов и функций которые относятся к Array шаблону (базовому) и к NumericArray. Но когда я пишу тоже самое внутри реализации функции, то VC 2010 выдает мне список только шаблона...
C++ В каких вариантах выпускался c++ 6 без подержки net В каких вариантах выпускался c++ 6 без подержки net http://www.cyberforum.ru/cpp-beginners/thread632325.html
Матрицы. Классы. Проверка ввода C++
Все привет. Нужно реализовать класс матриц. Почти всё сделал. Но не могу понять, что у меня за ошибка при проверке ввода? Вот вывод и код программы с комментариями. Подскажите, если кто знает, что за цикл непонятного происхождения у меня в консоли? #include <iostream> #include <time.h> #include <conio.h> using namespace std; class Matrix{
Ошибка функции max () | min() C++
Задача: Дано три числа, записанный в отдельных строках. Упорядочите их в порядке убывания. Программа должна считывать три числа a, b, c, затем программа должна менять их значения так, чтобы стали выполнены условия a <= b <= c, затем программа выводит тройку a, b, c. Я хочу решить его таким способом... Но возникает проблема при компиляции... Почему? #include <iostream> #include <cmath>...
C++ Написать программу, результат работы которой - округление дробного числа до целого по математическим правилам. http://www.cyberforum.ru/cpp-beginners/thread632292.html
Здравствуйте, Друзья. Задание: Написать программу, результат работы которой - округление дробного числа до целого по математическим правилам. Вот код #include <iostream> using namespace std; void Okruglenie(float); void main() {
C++ rand srand(time(NULL)); int s = rand()%1000 +1; генерирует бред вроде 3,4,7,10,14,19,21,26,29... как сделать чтобы значения были примерно такие : 458,985,100,5,857,40,756 подробнее

Показать сообщение отдельно
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
03.08.2012, 06:55     Обработка матриц
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
#include <iostream>
using namespace std;
 
double** simple_func(double** matrix, int n, int m)
{
    double minn = 2000000;
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            if(abs(matrix[i][j]) < minn)
                minn = matrix[i][j];
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            matrix[i][j] = minn - matrix[i][j];
    return matrix;
}
 
int main()
{
    int n, m; 
    cin >> n;
    cin >> m;
    double** matrix = new double* [n];
    for(int i=0; i < n; i++)
        matrix[i] = new double [m];
    // input matrix
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            cin >> matrix[i][j];
    // calling function
    matrix = simple_func(matrix, n, m);
    // show new matrix
    for(int i=0; i < n; i++)
    {
        for(int j=0; j < m; j++)
            cout << matrix[i][j] << " ";
        cout << endl;
    }
    // endndndndndndndndndnd
    system("pause");
    return 0;
}

or so...

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
#include <iostream>
using namespace std;
 
void simple_func(double**& matrix, int n, int m)
{
    double minn = 2000000;
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            if(abs(matrix[i][j]) < minn)
                minn = matrix[i][j];
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            matrix[i][j] = minn - matrix[i][j];
}
 
int main()
{
    int n, m; 
    cin >> n;
    cin >> m;
    double** matrix = new double* [n];
    for(int i=0; i < n; i++)
        matrix[i] = new double [m];
    // input matrix
    for(int i=0; i < n; i++)
        for(int j=0; j < m; j++)
            cin >> matrix[i][j];
    // calling function
    simple_func(matrix, n, m);
    // show new matrix
    for(int i=0; i < n; i++)
    {
        for(int j=0; j < m; j++)
            cout << matrix[i][j] << " ";
        cout << endl;
    }
    // endndndndndndndndndnd
    system("pause");
    return 0;
}
Добавлено через 6 минут
если Вы тоже считаете передачу размеров матрицы в функцию грехопадением, можно использовать вектор... поразвлекайтесь, одним словом....
 
Текущее время: 01:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru