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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ani-ni4ka
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 103
#1

Реализация матрицы с помощью динамических массивов - C++

10.02.2012, 22:53. Просмотров 355. Ответов 2
Метки нет (Все метки)

Всем привет)
У меня есть проблема вот в этом задаче:
Реализовать 2 базовых и 1 производный классы. В базовых классах описать целочисленную и вещественную матрицы. Реализовать виртуальные функции просмотра объекта, а также в производном классе перегруженные функции вычисляющие мин. элемент и сумму элементов, находящихся выше главной диагонали каждой матрицы.
Проблемка вот в чем..Я хочу реализовать матрицы с помощью динамических массивов, но мне выдает ошибки..и я как-то теряюсь..не знаю, что неправильно..
помогите пожалста..
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#include <vcl.h>
#include <iostream>
#include <conio.h>
#pragma hdrstop
 
#include <tchar.h>
using namespace std;
//---------------------------------------------------------------------------
 
 
class Base1
{
    protected:
    int n;
    int **matrix1;
 
public:
 
    Base1()
    {
        matrix1=new int *[n];
        for (int i=0; i < n; i++)
        matrix1[i]=new int [n];
        cout<<"Vvedite razmernost': ";
        cin>>n;
        for (int i=0; i < n; i++)
        {
             for (int j = 0; j< n; j++)
             {
                  matrix1[i][j]=rand()%100;
             }
        }
     }
      ~Base1() ;
      /*{
          delete int** matrix1 ;
      }          */
    virtual void view1()
    {
        cout<<endl;
        cout<<"INT Matrix: "<<endl;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
              cout<<matrix1[i][j];
              cout<<endl;
            }
        }
    }
 
};
class Base2
{
    protected:
    int m;
    double **matrix2;
    public:
    Base2()
    {
      matrix2=new double *[m];
        for (int i=0; i < m; i++)
        matrix2[i]=new double [m];
        cout<<"Vvedite razmernost': ";
        cin>>m;
        for (int i=0; i < m; i++)
        {
             for (int j = 0; j< m; j++)
             {
                  matrix2[i][j]=rand()%100;
             }
        }
    }
    ~Base2();
    /*{
        delete **matrix2;
    }              */
    virtual void view2()
    {
       cout<<endl;
        cout<<"DOUBLE Matrix: "<<endl;
        for (int i = 0; i < m; i++)
        {
            for (int j = 0; j < m; j++)
            {
              cout<<matrix2[i][j];
              cout<<endl;
            }
        }
    }
 
};
  class Derived:public Base1, public Base2
  {
     public:
     int minimal(int l[100][100]);
     double minimal(double w[100][100]);
     int summ(int l[100][100]);
     double summ(double w[100][100]);
  };
 
 int Derived:: minimal(int l[100][100])
 {
   int i,j;
   int min1=matrix1[0][1];
       for(j=i+1;j<n;j++)
       {
           if (min1>matrix1[i][j])
           {
            min1=matrix1[i][j];
 
           }
       }
   }
 
 
 double Derived:: minimal(double w[100][100])
 {
     int i,j;
     double min2=matrix2[0][1];
     for(i=1;i<m-1;i++)
     {
         for(j=i+1;j<m;j++)
         {
             if (min2>matrix2[i][j])
             {
                 min2=matrix2[i][j];
             }
         }
     }
 }
 int Derived:: summ(int l[100][100])
 {
     int i,j;
     int s1=0;
     for (i = 1; i < n-1; i++)
      {
         for (j = i+1; j < n; j++)
          {
              s1+=matrix1[i][j];
         }
     }
 }
 double Derived::  summ(double w[100][100])
 {
     int i,j;
     double s2=0;
     for (i = 1; i < m-1; i++)
      {
 
          for (j = i+1; j < m; i++)
           {
            s2+=matrix2[i][j];
           }
           }
 }
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
 
    Derived a;
 
    a.view1();
    a.view2();
    a.summ(a.matrix1);
    a.summ(a.matrix2);
    a.minimal(a.matrix1);
    a.minimala(a.matrix2);
 
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2012, 22:53     Реализация матрицы с помощью динамических массивов
Посмотрите здесь:

переделать с исполбзованием динамических массивов C++
C++ Использование динамических массивов
Использование динамических массивов C++
C++ Обработка динамических массивов
Из динамических массивов в обычные C++
C++ Обработка динамических массивов
C++ Динамических массивов
C++ Передача динамических массивов в функции
C++ Вывести эдементы матрицы с помощью статических и динамических массивов
Обработка динамических массивов C++
C++ Способы передачи параметров в функции. Реализация динамических двумерных массивов
C++ Удаление динамических массивов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.02.2012, 23:17     Реализация матрицы с помощью динамических массивов #2
в след. раз список ошибок приводи.

у тебя в мейне обращение к закрытым полям (matrix1, matrix2) идёт.
ani-ni4ka
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 103
11.02.2012, 21:33  [ТС]     Реализация матрицы с помощью динамических массивов #3
Пасиб..
Yandex
Объявления
11.02.2012, 21:33     Реализация матрицы с помощью динамических массивов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru