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

С++. Объектно-ориентированная технология программирования. Обработка матрицы с использованием иерархии классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование и абстрактный класс http://www.cyberforum.ru/cpp-beginners/thread724273.html
Вот сделал список с такими условиями вставка элемента из головы (хвоста) в заданном месте; вывода списка на экран; поиск элемента списка; #include <iostream> #include <conio.h> #include <string> using namespace std; template<class T> class List
C++ Прата С. С++. Посчитать количество вызовов функции Всем привет! Закончил раздел про встроенные функции, шаблоны, полиморфизм и ссылочные переменные. Там в конце такое задание: Напиши функцию. Один аргумент - адрес строки, выводит строку один раз. Если задан второй аргумент int!=0, функция выводит строку столько раз, сколько было осуществлено вызовов этой функции к моменту последнего вызова. (Обратите внимание, что количество выводимых строк не... http://www.cyberforum.ru/cpp-beginners/thread724245.html
C++ Вывести первый элемент в списке
#include <iostream> #include <conio.h> #include <string> using namespace std; template<class T> class List { public: List() {
Рекурсия (среднее арифметическое, наименьший элемент, сумма) C++
На вход с клавиатуры подается последовательность чисел a1, a2, ..., которая заканчивается повторным введением предыдущего числа (второй раз оно в последовательность не входит). Количество чисел ничем не ограничено. Написать программу, которая: а) вычисляет среднее арифметическое введенных чисел; б) вычисляет среднее геометрическое введенных чисел; в) определяет наименьший элемент...
C++ входной поток данных http://www.cyberforum.ru/cpp-beginners/thread724210.html
Из входного потока данных нужно подсчитать количество повторов в тексте DK и 22
C++ переделать из С в с++ Помогите переделать код в с++ из С #include <cstdio> #include <cstring> #include <cctype> #define SRC "simple" #define DST "sample" #define LEN 6 int main() подробнее

Показать сообщение отдельно
Spb1337
-13 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 13
08.12.2012, 23:48     С++. Объектно-ориентированная технология программирования. Обработка матрицы с использованием иерархии классов
Характеристикой строки целочисленной матрицы называется сумма ее положительных четных элементов.
Переставляя строки заданной матрицы,расположить их в соответствии с ростом характеристик.

Препод откоментировал программу.. как исправить не могу разобраться.. скидываю два файла ключевых.. по которым нужна помощь..

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
// Печать матрицы
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Стремная печать!!!!!!!!!!!!!!!!!!!!!!!!!!!! =)
void MATRIX::PrintMatrix(fstream &f)
{
    f << "Исходные данные:" << endl;
    f << "Количество строк в матрице:" << N << endl; 
    f << "Количество столбцов в матрице:" << M << endl;
 
 
 
    // !!!!!!!!!!!!!!!!!!!! Это все (то, что ниже, будет в производном классе ChildMATRIX !!!!!!!!!!!!!
    // Причем там будет 3 ф-ции: 1 - подсчет и формирование массива m[] и перестановка строк самой матрицы
    //                           2 - СВОЯ функция печати матрицы (необычная - с печатью строки матрицы и 
    //                               характеристики (m[i]).     
    // А в базовом классе - только это:
 
    for(int i=0; i<N; i++)
    {
        for(int j=0; j<M; j++)
        {
            f << setw(5) << left << pA[i][j];   
        }
 
        f << "\n\n";
    }
 
    int *m, t;
    m = NULL;
    m = new int [N];
    for (int i=0; i <N; i++)
    {
        *(m+i) = 0;
        for (int j=0 ; j <M; j++ )
        {
            if(pA[i][j] > 0 && pA[i][j]%2 == 0)
            {
                *(m+i) += pA[i][j];
            }
        }
    }
 
    //for(int i=0; i<N; i++)
    //{
    //  for(int j=0; j<M; j++)
    //  {
    //      f << setw(5) << left << pA[i][j];
    //      //f << setw(12) << ":" << m[i] << endl;   
    //  }
 
    //  f << "\n\n";
    //}
}
это matrix.cpp

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
// Конструктор производного класса
ChildMATRIX::ChildMATRIX(int N, int M):MATRIX(N, M)
{
}
 
// Функция выполнения задания
 
void ChildMATRIX::f_task(fstream &f)
{
    int *m,t;
 
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Выделить память под m[]
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Заполнить m[] значениями характеристик
//!!!! А вот ТОЛЬКО!!! потом переставлять строки матрицы!!!!!!!!!!!!!!!!!!
 
    t=0;
    int *massiv;
    for(int k = 0; k < N-1; k++ )
    
    {
        for(int p = k + 1; p < N; p++ )
        
        {
            if(*(m+k) > *(m+p))         
            {
                massiv = pA[k];
                pA[k] = pA[p];
                pA[p] = massiv;
 
                t = m[k];
                m[k]= m[p];
                m[p] = t;
            }
        }
    }
    return;
}
childmatrix.cpp производный класс от matrix..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru