|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.04.2010, 20:55 | #1 |
Пользователь
Регистрация: 24.03.2010
Сообщений: 12
|
класс массивов
Пишу программу -
Составить описание класса для определения одномерных массивов целых чисел. Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива , возможность задания произвольных границ , индексов при создании объекта и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов , умножения и деления , всех элементов массива на скаляр , вывода на экран элементов массива по заданному индексу и всего массива . Написать программу , демонстрирующую работу с этим классом . программа должны содержать меню, позволяющее осуществить проверку всех функций класса. Помогите пожалуйсто дописать функции - операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов , умножения и деления , всех элементов массива на скаляр ВОт что напчиал на сегодняшний день, на консоль в билдере. #include <iostream.h> #include <conio.h> #include <iomanip.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused //Класс массивы class Massivs{ public: int x,y,**ptr;//кол-во массивов, эл-ов в них и указатель на массивы void Vvod();//ввод массивов void Vuvod(int x1,int y1);//вывод всех массивов void VuvodMassiv(int x1);//вывод 1 массива void VuvodElem(int x1,int y1);//вывод эл-та в массиве }; //------------------------------------------------------------- void Massivs::Vvod() { if(x>0 && y>0)delete ptr; // разрушает объект, на который ссылается указатель , и освобождает область памяти, выделенную для него ранее операцией cout<<"Vvedite massivbi\n"; cout<<"Kol-vo massivov: "; cin>>x; cout<<"Dlina massiva: "; cin>>y; ptr=new int*[x]; for(int i=0;i<x;i++){ ptr[i]=new(int[y]); for(int j=0;j<y;j++) ptr[i][j]=rand()%9; //рандом } } //------------------------------------------------------------ - void Massivs::Vuvod(int x1,int y1){ for(int i=0;i<x1;i++){ for(int j=0;j<y1;j++) cout<<ptr[i][j]<<" "; cout<<endl; } getch(); } //------------------------------------------------------------------------ void Massivs::VuvodMassiv(int x1){ cout<<"Vvedite nomer massiv: "; cin>>x1; if(x1<x){ for(int j=0;j<y;j++) cout<<ptr[x1][j]<<" "; cout<<endl; } else cout<<"Max massiv = "<<x-1; //контролm выхода за пределы массива getch(); } //------------------------------------------------------------- void Massivs::VuvodElem(int x1,int y1){ cout<<"Vvedite nomer massiva: "; cin>>x1; cout<<"Vvedite nomer elementa massiva: "; cin>>y1; if(x1<x && y1<y) cout<<"Element= "<<ptr[x1][y1]<<endl<<"Massive "; else cout<<"Net takogo elementa"<<endl; //for(int j=0;j<y;j++) //cout<<ptr[x1][j]; getch(); } //Главная функция int main(int argc, char* argv[]) { Massivs pt; argc=0; pt.x=0;pt.y=0; do{ clrscr(); //вывод меню cout<<"1- Size massivs and vvod\n2- Vuvod all massivs\n"; cout<<"3- Vuvod massiv\n4- Vuvod element massiv\n"; cout<<"5 - Exit\n"; cin>>argc;//выбор опции меню //запуск функции класса switch(argc){ case 1: pt.Vvod(); break; case 2: pt.Vuvod(pt.x,pt.y); break; case 3: pt.VuvodMassiv(0); break; case 4: pt.VuvodElem(0,0); break; } }while(argc!=5); return 0; } //--------------------------------------------- |
13.04.2010, 21:50 | #2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Насколько я понял, у вас тут двумерные массивы в классе. Для одномерного массива должно быть что-то вроде:
Код:
И используйте тег CODE при оформлении постов.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс | Chartvit | Visual C++ | 2 | 05.01.2011 22:20 |
класс массивов | 1mposs1ble | Общие вопросы C/C++ | 0 | 04.04.2010 23:53 |
КЛАСС | 4ika | Общие вопросы C/C++ | 1 | 16.03.2010 21:32 |
Класс | Юлёк | Фриланс | 6 | 15.06.2008 15:00 |