Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 19:43   #1
bender91
 
Регистрация: 11.04.2012
Сообщений: 5
По умолчанию Класс для работы с массивом.С++

Всем доброго времени суток)
Помогите пожалуйста сделать следующее задание!
Цитата:
Составьте класс для работы с массивом, включив в него сам массив, его размерность, а также предусмотрите следующие методы:
ввод размера и содержимого массива;
вывод массива;
сортировка массива;
генерация всех перестановок элементов массива;
вывод каждой перестановки в файл.
Пытался сделать сам, но так как в программировании не силен,все мои попытки сделать хоть что нибудь из этого были безуспешными(
Большое спасибо всем кто возьмётся помочь))Буду очень признателен).
bender91 вне форума Ответить с цитированием
Старый 12.04.2012, 02:27   #2
sIllent
Пользователь
 
Аватар для sIllent
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

Код:
#include <iostream>
#include <conio.h>

using namespace std;



class arrays{
	int size;
	int *arr;
public:
	void input(int n);
	void output();
	void sort();// сортировка по возрастанию
	void perm(); // генирация перестановок
	void swap (int a, int b);
	void generate(int k);
	void output_gen();
};

void arrays::input(int n){
	size=n;
	arr=new int [size];
	for (int i=0; i<size; i++){
		cout << "Enter elements" << endl;
		cin >> arr[i];
	}
}

void arrays::output(){
	for(int i=0; i<size; i++)
		cout << i << ")" << arr[i] << endl;
}

void arrays::sort(){
	int temp=0;
	for (int i=0; i<(size-1); i++){
		temp=0;
		for (int j=(i+1); j<size; j++)
		if (arr[i]>arr[j]){
			temp=arr[i];
			arr[i]=arr[j];
			arr[j]=temp;
		}
	}
}
void arrays::swap(int a, int b){
	int t=arr[a];
	arr[a]=arr[b];
	arr[b]=t;
}

void arrays::generate(int k) {
	if (k==size){
		for (int i=0; i<size; i++)
			cout << arr[i] ;
		cout << endl;
	}

	else {
		for (int j=k; j<size; j++){
			swap(k,j);
			generate(k+1);
			swap(k,j);
		}
	}
}

void arrays::output_gen(){
	for (int i=0; i<size; i++)
		arr[i]=i+1;
	generate(0);
}


int main(){
	arrays first;
	int m=0;
	cout << "Enter size of array "<< endl;
	cin >> m;
	first.input(m);
	first.output();
	first.sort();
	cout << "Sorted "<< endl;
	first.output();
	first.output_gen();
	
	getch();
	return 0;

}
Вывод в файл мне лень делать, спать хочется.
А еще выделенная память не освобождается))))

Последний раз редактировалось sIllent; 12.04.2012 в 21:57.
sIllent вне форума Ответить с цитированием
Старый 14.04.2012, 21:32   #3
bender91
 
Регистрация: 11.04.2012
Сообщений: 5
По умолчанию

Спасибо))Вы мне очень помогли)))
bender91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограмма для работы с массивом. Neprosto Помощь студентам 1 16.12.2011 23:21
процедура для работы с динамическим массивом С++ Регишка С++ Помощь студентам 4 05.12.2011 13:55
с++ процедура для работы с динамическим массивом Регишка С++ Помощь студентам 0 04.12.2011 23:43
Создание функции для работы с динамическим массивом papoose Помощь студентам 2 19.01.2009 16:55
dll для работы с массивом alex23xandr Общие вопросы Delphi 3 25.05.2007 20:00