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

Составить описание класса, обеспечивающего представление матрицы произвольного размера - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
ehanjaki
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 10
05.07.2012, 11:17     Составить описание класса, обеспечивающего представление матрицы произвольного размера #1
вариант1
Условие задачи: Составить описание класса, обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы.
вариант 2
Сводная ведомость результатов экзаменационной сессии студенческой группы находится в файле на диске и для каждого студента содержит фамилию, инициалы и оценки по пяти предметам. Количество студентов в группе не превышает 20 человек.
Составить программу, с помощью которой можно корректировать и дополнять список и получать:
-список студентов
-список студентов, сдавших экзамены только на 5
-список студентов, имеющих тройки
список студентов имеющих двойки. При этом студент, имеющий более чем одну двойку, исключается из списка!
помогите сделать, вобще не шарю в этом! а в понедельник сдать нужно!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2012, 11:17     Составить описание класса, обеспечивающего представление матрицы произвольного размера
Посмотрите здесь:

Матрицы произвольного размера. C++
C++ Написать программу, которая позволяет осуществить ввод матрицы произвольного размера
C++ Составить описание класса на С++
Класс, обеспечивающий представление матрицы произвольного размера C++
Составить описание класса на с++ C++
Создание класса: Линейные целочисленные массивы произвольного размера с сортировкой вставками C++
C++ Составить описание класса, обеспечивающего представление матрицы произвольного размера
Составить описание класса "3D вектор". Объявить объекты класса и продемонстрировать работу методов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
05.07.2012, 13:44     Составить описание класса, обеспечивающего представление матрицы произвольного размера #2
Делаю первое.

Добавлено через 2 часа 20 минут
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
#ifndef MATRIX_H
#define MATRIX_H
 
#   include <cstdio>
#   include <cstdlib>
#   include <memory.h>
 
    template <typename T, char FMT>
    class Matrix {
        unsigned y, x;
        T** a;
    public:
        Matrix() {
            x = y = 1;
            a = (T**)malloc(sizeof(T*));
            *a = (T*)malloc(sizeof(T));
        }
 
        Matrix(unsigned _y, unsigned _x) {
            y = _y;
            x = _x;
            a = (T**)malloc(y * sizeof(T*));
            while (_y--)
                a[_y] = (T*)malloc(x * sizeof(T));
        }
 
        Matrix(const Matrix& m): Matrix(m.y, m.x) {
            memcpy(a, m.a, y * sizeof(T*));
            for (unsigned i = 0; i < y; i++)
                memcpy(a[i], m.a[i], x * sizeof(T));
        }
 
        ~Matrix() {
            while (y--)
                free(a[y]);
            free(a);
        }
 
        unsigned Y() const { return y; }
        unsigned X() const { return x; }
 
        unsigned Y(unsigned _y) {
            a = (T**)realloc(a, _y * sizeof(T*));
            if (y < _y)
                do
                    a[y++] = (T*)malloc(x * sizeof(T));
                while (y != _y);
            else if (y > _y)
                do
                    free(a[y--]);
                while (y != _y);
            return y;
        }
 
        unsigned X(unsigned _x) {
            for (unsigned i = 0; i < y; i++)
                a[i] = (T*)realloc(a[i], _x * sizeof(T));
            return x = _x;
        }
 
        T* operator[ ](unsigned y) { return a[y]; }
 
        void Print(unsigned y0, unsigned x0, unsigned y1, unsigned x1, char o = 5) const {
            char s[5], i = 2;
            s[0] = '%';
            if ((s[1] = o / 10 + '0') - '0') {
                s[2] = o % 10 + '0';
                i = 3;
            } else
                s[1] = o + '0';
            s[i] = FMT;
            s[i + 1] = '\0';
            for (unsigned i = y0, j; i < y1; i++) {
                for (j = x0; j < x1; j++)
                    printf(s, a[i][j]);
                putchar('\n');
            }
        }
 
        void Print(unsigned y1, unsigned x1, char o = 5) const { Print(0, 0, y1, x1, o); }
 
        void Print(char o = 5) const { Print(0, 0, Y(), X(), o); }
    };
 
#endif
Yandex
Объявления
05.07.2012, 13:44     Составить описание класса, обеспечивающего представление матрицы произвольного размера
Ответ Создать тему
Опции темы

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