Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

10.02.2012, 22:53. Просмотров 382. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2012, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализация матрицы с помощью динамических массивов (C++):

Вывести эдементы матрицы с помощью статических и динамических массивов - C++
помогите, пожалуйста, как написать код в с++. Дана матрица размера A * B. Вывести ее элементы в следующем порядке: первый столбец...

Способы передачи параметров в функции. Реализация динамических двумерных массивов - C++
в программе написать функции для сортировки массива. Подсчитать количество перестановок элементов массива при выполнении сортировки;

Динамических массивов - C++
Всем доброго дня!!!Если есть минутка, помогите сделать эти задания!буду очень благодарен!! 1. Заданы два массива А(5) и В(5)....

Из динамических массивов в обычные - C++
#include &lt;iostream.h&gt; void trans_pointer() { int n,m,i,j; int **X,**Y; cout &lt;&lt; &quot;Enter m&quot;&lt;&lt;endl; ...

Обработка динамических массивов - C++
Для размещения массивов следует использовать динамическую память. Задание В матрице удалить строку с минимальным произведением...

Использование динамических массивов - C++
Прошу вашей помощи в решении след задачи (не нужно мне, чтоб вы решали, а хотя б подсказали как все это организовать). Мне надо решить...

2
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.02.2012, 23:17 #2
в след. раз список ошибок приводи.

у тебя в мейне обращение к закрытым полям (matrix1, matrix2) идёт.
0
ani-ni4ka
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 103
11.02.2012, 21:33  [ТС] #3
Пасиб..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2012, 21:33
Привет! Вот еще темы с ответами:

Удаление динамических массивов - C++
Здравствуйте, вобщем проблема в этом куске кода: int *makeDigits(int n) { int *digits = new int; int i = 2; while (n != 0) ...

Использование динамических массивов - C++
Помогите, пожалуйста. Надо выполнить задание, используя динамические массивы В массиве с четным количеством элементов (2N) находятся...

Обработка динамических массивов - C++
В матрице удалить строку с минимальным произведением элементов, а затем в качестве третьей добавить строку элементы которой равны разностям...

Обработка динамических массивов - C++
cout &lt;&lt; &quot;please enter values of array#1&quot; &lt;&lt; endl; int alen = 0; int* a = createArray(&amp;alen); cout &lt;&lt; &quot;please enter values...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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