|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.07.2012, 09:22 | #1 |
Регистрация: 05.07.2012
Сообщений: 6
|
int main класса матрицы
Составить описание класса, обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы.
вот код: описание класса есть, только нужно дописать int main! напишите пожалуйста вроде бы это совсем не сложно, но так я с программированием не связан то сам не могу( #include<iostream> using namespace std; class Matrix // целочисленная матрица { private: int **a; // для хранения информации int w,h;// кол-вл строк и столбцов public: Matrix(int H,int W); // конструктор с параметрами Matrix(); // пустой конструктор ~Matrix();// деструктор void SetXY(int Y,int X,int data); // для заполнения ячейки строки y и столбца x int GetXY(int Y,int X); // возвращает значение элемента строки y и столбца x void Show(); // вывод всей матрицы void Show(int Hbeg,int Wbeg,int Hend, int Wend);// вывод начиная со строки HBeg и заканчивая Hend, и столбца с WBeg до Wend void SetH(int H); // установка кол-ва строк void SetW(int W);// установка кол-ва столбцов int GetH() {return h;} int GetW() {return w;} }; Matrix::Matrix() { h=w=0; } Matrix::Matrix(int H,int W) { h=H; w=W; a=new int*[H];// выделение памяти под строки for(int i=0;i<H;i++) a[i]=new int[W];// выделение памяти под каждую строку } Matrix::~Matrix() { for(int i=0;i<h;i++) delete [] a[i]; delete [] a; } void Matrix::SetXY(int Y,int X,int data) { if(Y<h &&Y>=0 && X<w && X>=0) a[Y][X]=data; } int Matrix::GetXY(int Y,int X) { if (Y<h &&Y>=0 && X<w && X>=0) return a[Y][X]; else return -1; } void Matrix::Show() { for(int i=0;i<h; i++, cout<<endl) for(int j=0;j<w;j++) cout<<a[i][j]<<" "; } void Matrix::Show(int Hbeg,int Hend,int Wbeg,int Wend) { if(Hend<h &&Hbeg>=0 && Wend<w && Wbeg>=0) { for(int i=Hbeg;i<=Hend;i++,cout<<endl) for(int j=Wbeg;j<=Wend;j++) cout<<a[i][j]<<" "; } } void Matrix::SetH(int H) { int **b;// новый участок памяти b=new int*[H];// выделение памяти под строки for(int i=0;i<H;i++) { b[i]=new int[w];// выделение памяти под каждую строку for(int j=0;j<w;j++) b[i][j]=0; // сразу обнуляем строки } for(int i=0;i<H && i<h;i++) for(int j=0;j<w; j++) b[i][j]=a[i][j]; // копируем информацию // устанавливаем новое кол-во строк for(int i=0;i<h;i++) delete [] a[i]; // очистка памяти из под старой информации delete [] a; h=H; a=b; } void Matrix::SetW(int W) { int **b; b=new int*[h];// выделение памяти под строки for(int i=0;i<h;i++) { b[i]=new int[W];// выделение памяти под каждую строку for(int j=0;j<W;j++) b[i][j]=0; // сразу обнуляем строки } for(int i=0;i<h;i++) for(int j=0;j<w &&j<W; j++) b[i][j]=a[i][j]; // копируем информацию for(int i=0;i<h;i++) // очистка памяти из под старой информации delete [] a[i]; delete [] a; w=W; // устанавливаем новое кол-во столбцов a=b; } int main() { return 0 ; } |
12.07.2012, 09:48 | #2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
О_о. Моногабукав. Ниасилил. Тока за денежку.
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
12.07.2012, 09:59 | #3 |
Регистрация: 05.07.2012
Сообщений: 6
|
неакак за денежку
|
12.07.2012, 10:05 | #4 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
неакак так неакак.
Отформатируйте код, заключите в тег code. Будет понятнее, о чем речь.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 12.07.2012 в 10:08. |
12.07.2012, 10:27 | #5 |
Регистрация: 05.07.2012
Сообщений: 6
|
ну помоги плиз кто нить
|
12.07.2012, 10:29 | #6 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функция float average(int arrray[],int from,int to) | yuliyayuliya | Помощь студентам | 0 | 25.04.2011 21:55 |
error: '::main' must return 'int' | Without Soul | Общие вопросы C/C++ | 9 | 24.03.2011 07:26 |
Ошибка`main' must return `int' | Hichigo | Общие вопросы C/C++ | 9 | 26.02.2011 15:33 |
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) | elpilasgsm | Помощь студентам | 4 | 18.01.2011 08:23 |
Создание собственного класса. Который считает время(нужен секундамер) и имеет массив данных int | ciberlex404 | Общие вопросы C/C++ | 0 | 04.06.2010 20:12 |