Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с классами 
:(
    Опции темы
JinZh
Дата 20.4.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.1.2011

Репутация: нет
Всего: нет



/*
 Написать программу, в которой предусмотреть класс для организации 
 обработки целочисленного массива. 
 Внутри класса реализовать два конструктора: 
 1-й конструктор должен обеспечивать ввод элементов массива с клавиатуры; 
 2-й конструктор должен формировать значения элементов массива в задаваемом диапазоне [min, max] 
 c помощью генератора случайных значений. 
 Внутри класса предусмотреть 5 методов: 
 1-й метод должен вычислять значение максимального элемента в массиве; 
 2-й метод должен вычислять значение минимального элемента; 
 3-й метод должен обеспечивать вывод массива на экран. 
 Еще 2 метода спроектировать самостоятельно и реализовать.
 */

 Вот код решения на С++ в консоли Builder

 
Код

#include "vcl.h"
 #include "iostream.h" 
 #include "conio.h" 
 #include <windows.h> 
 #include <math.h> 
 using namespace std; 

 class mass 
 { 
 public: mass_A1(int); 
 //~mass();
 void min_mass (int);
 void max_mass (int);
 void output_mass (int); 
 private: int m[10];

 }; 

 mass::mass_A1(int size)
 { for(int i = 1; i <= size; i++)
 { 
 m[i] = rand();
 cout << "Vvedite m["<<i<<"] element "; 
 cin >> m[i]; 
 } 

 } 

 void mass::min_mass(int size) 
 { 
 int min; min=m[1];
 for(int i = 1; i <= size; i++) 
 { 

 if (m[i]<=min) min=m[i];
 } 
 cout<<"Minimal'niy element ="<<min<<"\n"; 
 } 

 void mass::max_mass(int size)
 { 
 int max;
 max=m[1];
 for(int i = 1; i <= size; i++)
 {

 if (m[i]>=max) max=m[i];
 }
 cout<<"Maximal'niy element="<<max<<"\n";
 } 

 void mass:utput_mass(int size) 
 { cout<<" ===Vyvod=massiva===\n"; 
 for(int i = 1; i <= size; i++) 
 { 
 cout<<i<<".element="<<m[i]<<"\n";
 } 
 } 

 int main() 
 { int size;
 mass A1; //
 cout<<"Enter size: "; 
 cin>>size; 
 A1.mass_A1(size); 
 A1.min_mass(size); 
 A1.max_mass(size); 
 A1.output_mass(size); 

 getch(); 
 return 0;

 }


 Мне нужна помощь по реализации этой задачи в Builder.. как связать классы с формой и функции класса с кнопками. Кто может примерно показать куда нужно заносить класс. Препод еще говорил что нужно создавать еще 1 класс с этим массивом, что бы при изменении возвращаться к исходнику.
 P.S пожайлуйста помогите хотя бы инфой, через 5 дней сдача курсовой! =(
PM MAIL   Вверх
Michrutka
Дата 21.4.2011, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 6.2.2008

Репутация: нет
Всего: нет



Ну у тебя в любом случае не верно:
Код

mass_A1(int); 

это - не конструктур.
это метод.
чтобы был конструктор нужно так:
Код

mass(int);


чтобы было два конструктора (по заданию) нужно их перегрузить
например так:
Код

public:
    mass(int size);//ввод с консоли
    mass(int min, int max);//в задаваемом диапазоне


самое простое для связи - вынести описание и реализацию класса в отдельный юнит (описание - в Mass.h, а реализацию - в Mass.cpp)
то етсь в Mass.h:
Код

class mass 
 { 
 public: mass_A1(int); 
 //~mass();
 void min_mass (int);
 void max_mass (int);
 void output_mass (int); 
 private: int m[10];
 }; 


в Mass.cpp:
Код

 mass::mass_A1(int size)
 { for(int i = 1; i <= size; i++)
 { 
 m[i] = rand();
 cout << "Vvedite m["<<i<<"] element "; 
 cin >> m[i]; 
 } 
 } 
 void mass::min_mass(int size) 
 { 
 int min; min=m[1];
 for(int i = 1; i <= size; i++) 
 { 
 if (m[i]<=min) min=m[i];
 } 
 cout<<"Minimal'niy element ="<<min<<"\n"; 
 } 
 void mass::max_mass(int size)
 { 
 int max;
 max=m[1];
 for(int i = 1; i <= size; i++)
 {
 if (m[i]>=max) max=m[i];
 }
 cout<<"Maximal'niy element="<<max<<"\n";
 } 
 void mass:utput_mass(int size) 
 { cout<<" ===Vyvod=massiva===\n"; 
 for(int i = 1; i <= size; i++) 
 { 
 cout<<i<<".element="<<m[i]<<"\n";
 } 
 } 

потом создать новое приложение в билдере - и там подклюить его - #include "Mass.h"

после положить на форму кнопку, нажать на ее два раза - вылетишь в обработчик формы, ну и дальше уже в обработчике пишешь какой метод и как хочешь вызывать.
PM MAIL   Вверх
borisbn
Дата 21.4.2011, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Цитата(Michrutka @  21.4.2011,  09:39 Найти цитируемый пост)
потом создать новое приложение в билдере - и там подклюить его - #include "Mass.h"

и не забыть добавить Mass.cpp в проект  smile 


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Michrutka
Дата 21.4.2011, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 6.2.2008

Репутация: нет
Всего: нет



Цитата(borisbn @  21.4.2011,  10:10 Найти цитируемый пост)
 и не забыть добавить Mass.cpp в проект  smile  

точно. про это упомянуть забыл)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.