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

Организация программ по обработке динамических матриц - C++

Восстановить пароль Регистрация
 
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
30.12.2011, 01:10     Организация программ по обработке динамических матриц #1
Заданы матрицы: А(15,6), В(8,12), С(12,9). В каждой из матриц найти и удалить максимальные элементы строк. Последнему элементу каждой строки присовить нулевое значение. Элементы матриц вычисляются по формулам: Aij = 7,1i - 9,7j - 16,2; Bij=4,5i -8,2j + 29,6; Cij = 7,9i + 13,2j - 10,5.
Помогите, пожалуйста, решить...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2011, 01:10     Организация программ по обработке динамических матриц
Посмотрите здесь:

Передача динамических матриц в функцию C++
Инициализация динамических матриц в с++ C++
Разработка и отладка алгоритмов и программ по созданию и обработке файлов C++
C++ Организация динамических структур..ПОМОГИТЕ...вообще с ними не дружу на С++=(
C++ Разработка и отладка алгоритмов и программ по обработке строк символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
30.12.2011, 14:50     Организация программ по обработке динамических матриц #2
Цитата Сообщение от shout27 Посмотреть сообщение
Заданы матрицы: А(15,6), В(8,12), С(12,9). В каждой из матриц найти и удалить максимальные элементы строк. Последнему элементу каждой строки присовить нулевое значение. Элементы матриц вычисляются по формулам: Aij = 7,1i - 9,7j - 16,2; Bij=4,5i -8,2j + 29,6; Cij = 7,9i + 13,2j - 10,5.
Помогите, пожалуйста, решить...
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
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
 
int remMaxElementsInRows(int m, int n, int **matrix)
{
    int nCount = 0;
    int i, j, jmax;
    bool bAllEqual = true;
    for(i = 0; i < m; i++)
    {
        jmax = 0;
        bAllEqual = true;
        for(j = 0; j < n; j++)
        {
            if(bAllEqual)
            if(matrix[i][jmax] != matrix[i][j])
                bAllEqual = false;
            if(matrix[i][jmax] < matrix[i][j])
                jmax = j;
        }
        if(!bAllEqual)
        {
            matrix[i][jmax] = 0;
            nCount++;
        }
    }
    return m - nCount;
}
 
int main()
{
    int i, j;
    int mA, nA, mB, nB, mC, nC;
    cout<<"Enter rows A : ";cin>>mA;
    cout<<"Enter cols A : ";cin>>nA;
    int ** A = new int * [mA];
    cout<<"\tMatrix A\n";
    for(i = 0; i < mA; i++)
    {
        A[i] = new int[nA];
        for(j = 0; j < nA; j++)
        {
            A[i][j] = 7.1*i - 9.7*j - 16.2;
            if(j == nA - 1)
                A[i][j] = 0;//Последнему элементу каждой строки присовить нулевое значение.
            cout<<setw(3)<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<"Enter rows B : ";cin>>mB;
    cout<<"Enter cols B : ";cin>>nB;
    int ** B = new int * [mB];
    cout<<"\tMatrix B\n";
    for(i = 0; i < mB; i++)
    {
        B[i] = new int[nB];
        for(j = 0; j < nB; j++)
        {
            B[i][j] = 4.5*i - 8.2*j + 29.6;
            if(j == nB - 1)
                B[i][j] = 0;//Последнему элементу каждой строки присовить нулевое значение.
            cout<<setw(3)<<B[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<"Enter rows C : ";cin>>mC;
    cout<<"Enter cols C : ";cin>>nC;
    int ** C = new int * [mC];
    cout<<"\tMatrix C\n";
    for(i = 0; i < mC; i++)
    {
        C[i] = new int[nC];
        for(j = 0; j < nC; j++)
        {
            C[i][j] = 7.9*i + 13.2*j - 10.5;
            if(j == nC - 1)
                C[i][j] = 0;//Последнему элементу каждой строки присовить нулевое значение.
            cout<<setw(3)<<C[i][j]<<" ";
        }
        cout<<endl;
    }
    if(remMaxElementsInRows(mA, nA, A) != 0)
        cout<<"Some rows in matrix A consists from same elements\n";
    cout<<"\tMatrix A(after placing to zero MAX elements in rows)\n";
    for(i = 0; i < mA; i++)
    {
        for(j = 0; j < nA; j++)
            cout<<setw(3)<<A[i][j]<<" ";
        cout<<endl;
    }
    if(remMaxElementsInRows(mB, nB, B) != 0)
        cout<<"Some rows in matrix B consists from same elements\n";
    cout<<"\tMatrix B(after placing to zero MAX elements in rows)\n";
    for(i = 0; i < mB; i++)
    {
        for(j = 0; j < nB; j++)
            cout<<setw(3)<<B[i][j]<<" ";
        cout<<endl;
    }
    cout<<"\tMatrix C(after placing to zero MAX elements in rows)\n";
    for(i = 0; i < mC; i++)
    {
        for(j = 0; j < nC; j++)
            cout<<setw(3)<<C[i][j]<<" ";
        cout<<endl;
    }
    system("pause");
    return 0;
}
Миниатюры
Организация программ по обработке динамических матриц   Организация программ по обработке динамических матриц  
-=ЮрА=-
Заблокирован
Автор FAQ
30.12.2011, 14:53     Организация программ по обработке динамических матриц #3
PS:Максимальные элементы я приравнивал нулю а не удалял столбец матрицы - представим себе ситуацию когда в строке все элементы одинаковы - это означает что они всё максимальны, а значит я должен удалить их всё, так?Тогда вообще матрицу сотрём, даже если одинаковых элементов в строках и нет кто сказал что макс элементы не будут идти лесенкой(ну т.е. снова всё столбцы надо будет грохнуть). Так что приравнивание этих элементов нулю по-моему и отвечает заданию!
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
30.12.2011, 15:47  [ТС]     Организация программ по обработке динамических матриц #4
Спасибо большое за программу и обширное пояснение
Yandex
Объявления
30.12.2011, 15:47     Организация программ по обработке динамических матриц
Ответ Создать тему
Опции темы

Текущее время: 15:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru