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

Создать класс для работы с двумерным массивом целых чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно написать программу для Pascal 9 класс http://www.cyberforum.ru/cpp-beginners/thread1022137.html
Найти все углы треугольника со сторонами а, b, с. Предусмотреть в программе перевод радианной меры угла в градусы, минуты и секунды.
C++ Самопроизвольное добавление чисел Добрый день! Кто-нибудь может объяснить происходящие и помочь избавиться от этого... PS Учусь на ИТ, по инфе задали написать программу, которая будет делать примерно это: Дано число 4.3254 нужно... http://www.cyberforum.ru/cpp-beginners/thread1022134.html
Сортировка C++
не работает сортировка в чем проблема? #include "stdafx.h" #include <iostream> #include <sstream> #include <cstring> #include <conio.h> using namespace std;
Как пользоваться стандартной библиотекой Очередей? C++
а именно сам инклуд, примеры добавления элементов в очередь и удаление
C++ string => char[] http://www.cyberforum.ru/cpp-beginners/thread1022124.html
Ничего не выходит из найденного в интернете(( подскажите как на выходе получить такой чар std::string str = "vasya.exe"; char buf = str; // ? error char buf = "vasya.exe" // работает... да только...
C++ Не могу розобратся с кодом и задачкой Вот задача: Напишите программу, заполнив файл 10 порциями данных таких типов, чтобы описать данные о студентах: номер зачетной книги (int), название группы (char 4), фамилия (char 10), ... подробнее

Показать сообщение отдельно
Leno4ka805
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 3

Создать класс для работы с двумерным массивом целых чисел - C++

28.11.2013, 18:52. Просмотров 244. Ответов 0
Метки (Все метки)

Создать класс для работы с двумерным массивом целых чисел. Разработать следующие элементы класса:
a. Поля:
int **IntArray;
int n.
b. Конструктор, позволяющий создать массив размерности n×n.
c. Методы, позволяющие:
ввести элементы массива с клавиатуры;
вывести элементы массива на экран;
вычислить сумму элеметов i-того столбца.
d. Свойства:
позволяющее вычислить количество нулевых элементов в массиве (доступное только для чтения);
позволяющее установить значение всех элементы главной диагонали массива равное скаляру (доступное только для записи)

Вот такой код получился у меня.
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
#include <iostream>
 
using namespace std;
 
class DMassiv//ñîçäГ*ëè ГЄГ«Г*Г±Г±
{   
public:
    int **IntArray;//ГіГЄГ*Г§Г*òåëü Г*Г* ГіГЄГ*Г§Г*òåëü öåëî÷èñëåГ*Г*îãî Г§Г*Г*Г·ГҐГ*ГЁГї îòêðûòûå ïîëÿ ГЄГ«Г*Г±Г±Г*
    int n;
    int b,a,r,l,*p;//k-äîï.ïåðåìåГ*Г*Г*Гї äëÿ ñ÷èòûâГ*Г*ГЁГї ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*;Г*- Г*îìåð ñòîëáöГ*;  Г±ГІГ®Г«ГЎГ¶Г»
    DMassiv()//ГЄГ®Г*ñòðóêòîð
    {
            
    }
    ~DMassiv()
    {
      IntArray=0;
      n=0;  
    }
    int setVvod()//ìåòîä äëÿ ââîäГ* 
    {
        cout<<"vvedite n";
        cin>>n;
        cout<<"vvedite massiv"<<endl;
            IntArray=new int*[n];//âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä ñòðîêè
            for (int i = 0; i < n; i++)
                {
                     IntArray[i]=new int[n];//~ïîä ñòîëáöû
                     for (int j = 0; j < n; j++)
                     {  
                       cin>>IntArray[i][j];
                     }
                }
    }
    void getVivod()//ìåòîä Г*Г* âûâîä
    {
    for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                cout<<IntArray[i][j]<<" ";
                
            }
      cout<<endl;
        }
    }
    //âû÷èñëåГ*ГЁГҐ ñóììû ñòîëáöГ*
    int summa()
    {
        int s=0;        
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (l>n)cout<<"nevozmojno vipolnit'"<<endl;
                if (j==l) s+=IntArray[i][j];
            }     
        }
        cout<<"s="<<s;
    return s;
    }
    //Г*Г*éòè ýëåìåГ*ГІ Г± Г§Г*Г¤Г*Г*Г*ûì Г*îìåðîì
    void poisk()
        {
          // int b=0;
            cout<<"vvedite nomer stolbtsa: ";
               cin>>a;
                cout<<"Nomer stroki: ";
                cin>>r;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j <n;j++)
                {
                    if(i==r && j==a)*p=IntArray[i][j];
                    
                    //if(IntArray[i][j]==0)b++;
                }
            }
            cout<<"element= "<<p<<endl;
        }
        int GetSnull()
        {
            get
            {
                int b=0;
                for(int i=0;i<n;i++)
                {
                  for(int j=0;j<n;j++)
                  {
                        if(IntArray[i][j]==0)b++;
                  } 
                }
                return b;
            }
        }
        int Setscalar()
        {
            set
            {
                for(int i=0;i<n;i++)
                {
                  if(i=j)cout>>&IntArray[i][j]=0;
                } 
            }
        }   */
};
 
int main()
{
    int n;
    int i,j,k,a,r,l,*p;
    int IntArray[n][n];
        //????????? MyObj.vvod();
  DMassiv mas;
//  cout<<"vvedite n=";//ââîäèì êîë-ГўГ® ñòîëáöîâ ГЁ ñòðîê
//  cin>>n;//ñ÷èòûâГ*ГҐГ¬yObj.vvod()
    mas.setVvod();
    mas.getVivod();
 
   
    std::cout<<mas.poisk()<<std::endl;
    cout<<"Nomer stolbtsa: ";
            cin>>l;
            //cout>>s;
            std::cout<<mas.summa()<<std::endl;
//  ~DMassiv();
    system("PAUSE");
    return 0;
}
сам массив выводится, но вместо заданного элемента, похоже. выводится его адрес.
также, не просчитывается сумма i-ого столбца, а со свойствами я вообще запуталась
Исправьте, пожалуйста, ошибки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru