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

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

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

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

10.02.2012, 22:53. Просмотров 360. Ответов 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++
помогите, пожалуйста, как написать код в с++. Дана матрица размера A * B. Вывести ее элементы в следующем порядке: первый столбец...

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

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

Создание динамических массивов - C++
Здравствуйте. Подтолкните в верном направлении. В начале пользователь задаёт количество массивов, потом размер первого массива, потом...

Обработка динамических массивов - 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...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Пасиб..
Ответ Создать тему
Опции темы

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