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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.01.2010, 18:48   #1
Vikylik
Пользователь
 
Регистрация: 07.05.2008
Сообщений: 10
Восклицание Исправить программу с использованием классов

Помогите, пожалуйста, исправить программу таким образом, чтобы она была реализована с помощью КЛАССОВ!!!!!
Пожалуйста
Код:
/*Реализуйте функцию, которая определяет количество разных элементов массива. 
Элементами массива могут быть или длинные целые числа, или числа с плавающей точкой, или строки знаков.*/
#include "stdafx.h"	
#include <iostream> //подключение библиотеки для потокового ввода/вывода
#include <stdlib.h>
#include <string.h>

using namespace std;
//определение элементов массива
int fun(const int*A, int len)		// целочисленные значения
{
cout<<"int ";
int count=0;			//начальное значение счетчика для кол-ва элементов
int i,j;
for (i=0; i<len; i++)		//перебор всех элементов массива
{ 
   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
	   if (A[j]==A[i])break;  //если да, то выход из цикла
  if (j<0) count++;			// если нет, то изменение счетчика на 1
}
return count;
}


int fun(const double*A, int len)	// типа double
{
cout<<"double ";
int count=0;			//начальное значение счетчика для кол-ва элементов
int i,j;
for (i=0; i<len; i++)		//перебор всех элементов массива
{ 
   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
	   if (A[j]==A[i])break;  //если да, то выход из цикла
  if (j<0) count++;			// если нет, то изменение счетчика на 1
}
return count;
}

int fun(const char*A, int len)		//типа char
{
cout<<"char ";
int count=0;			//начальное значение счетчика для кол-ва элементов
int i,j;
for (i=0; i<len; i++)		//перебор всех элементов массива
{ 
   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
	   if (A[j]==A[i])break;  //если да, то выход из цикла
  if (j<0) count++;			// если нет, то изменение счетчика на 1
}
return count;
}


int main(int argc, char* argv[])
{
    int i;
// целочисленный массив
	cout<<"======================="<<endl;
    int * A;
	int kol;
//обработка целочисленного массива
	cout<<"Vvedite kolichestvo elementov massiva tipa INT"<<endl;
	cin>>kol;
	A = new int [kol];
	for (i=0; i<kol;i++)
	{
		cout<<"A["<<i<<"]= ";
		cin>>A[i];

	}

	for (i=0; i<kol; i++) //вывод массива на экран
		cout<<A[i]<<"  ";
	cout<<endl;	
	cout<<fun(A, kol)<<endl;

// массив с плавающей точкой	
	cout<<"======================="<<endl;
	double *B;
	cout<<"Vvedite kolichestvo elementov massiva tipa DOUBLE"<<endl;
	cin>>kol;
	B = new double [kol];
	for (i=0; i<kol;i++)
	{
		cout<<"B["<<i<<"]= ";
		cin>>B[i];

	}	for (i=0; i<kol; i++)   //вывод массива на экран
		cout<<B[i]<<"  ";
	cout<<endl;
	cout<<fun(B,kol)<<endl;

// строка символов
	cout<<"======================="<<endl;
	cout<<"Vvedite stroky simvolov bez probela"<<endl;
	char C[100];
	cin>>C;

	cout<<endl;
	cout<<fun(C,strlen(C))<<endl;

	system("pause");	//ожидание нажатия клавиши для закрытия окна
	return 0; 
}
Vikylik вне форума
Старый 18.01.2010, 18:55   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

пожалуйста. вариант закоренелого халявщика и троечника:

Код:
#include <iostream> //подключение библиотеки для потокового ввода/вывода
#include <stdlib.h>
#include <string.h>

using namespace std;

class Application {
	//определение элементов массива
	int fun(const int*A, int len)		// целочисленные значения
	{
		cout<<"int ";
		int count=0;			//начальное значение счетчика для кол-ва элементов
		int i,j;
		for (i=0; i<len; i++)		//перебор всех элементов массива
		{ 
		   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
			   if (A[j]==A[i])break;  //если да, то выход из цикла
		  if (j<0) count++;			// если нет, то изменение счетчика на 1
		}
		return count;
	}


	int fun(const double*A, int len)	// типа double
	{
		cout<<"double ";
		int count=0;			//начальное значение счетчика для кол-ва элементов
		int i,j;
		for (i=0; i<len; i++)		//перебор всех элементов массива
		{ 
		   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
			   if (A[j]==A[i])break;  //если да, то выход из цикла
		  if (j<0) count++;			// если нет, то изменение счетчика на 1
		}
		return count;
	}

	int fun(const char*A, int len)		//типа char
	{
		cout<<"char ";
		int count=0;			//начальное значение счетчика для кол-ва элементов
		int i,j;
		for (i=0; i<len; i++)		//перебор всех элементов массива
		{ 
		   for (j=i-1; j>=0; j--)	// был ли учтен такой элемент ранее
			   if (A[j]==A[i])break;  //если да, то выход из цикла
		  if (j<0) count++;			// если нет, то изменение счетчика на 1
		}
		return count;
	}

public:
	void start()
	{
		int i;
		// целочисленный массив
		cout<<"======================="<<endl;
		int * A;
		int kol;
		//обработка целочисленного массива
		cout<<"Vvedite kolichestvo elementov massiva tipa INT"<<endl;
		cin>>kol;
		A = new int [kol];
		for (i=0; i<kol;i++)
		{
			cout<<"A["<<i<<"]= ";
			cin>>A[i];

		}

		for (i=0; i<kol; i++) //вывод массива на экран
			cout<<A[i]<<"  ";
		cout<<endl;	
		cout<<fun(A, kol)<<endl;

		// массив с плавающей точкой	
		cout<<"======================="<<endl;
		double *B;
		cout<<"Vvedite kolichestvo elementov massiva tipa DOUBLE"<<endl;
		cin>>kol;
		B = new double [kol];
		for (i=0; i<kol;i++)
		{
			cout<<"B["<<i<<"]= ";
			cin>>B[i];

		}	for (i=0; i<kol; i++)   //вывод массива на экран
			cout<<B[i]<<"  ";
		cout<<endl;
		cout<<fun(B,kol)<<endl;

		// строка символов
		cout<<"======================="<<endl;
		cout<<"Vvedite stroky simvolov bez probela"<<endl;
		char C[100];
		cin>>C;

		cout<<endl;
		cout<<fun(C,strlen(C))<<endl;
	}
};



int main(int argc, char* argv[])
{
	Application a;
	a.start();
	system("pause");	//ожидание нажатия клавиши для закрытия окна
	return 0; 
}
если нужно серьезнее - не бесплатно уже
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 18.01.2010, 20:50   #3
Vikylik
Пользователь
 
Регистрация: 07.05.2008
Сообщений: 10
По умолчанию

Большущее человеческое спасибо!!!)))
Очень благодарна!)))
Vikylik вне форума
Старый 18.01.2010, 21:41   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

да не стоит благодарностей
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработать алгоритм и программу решения задачи с использованием Jereme Паскаль, Turbo Pascal, PascalABC.NET 6 07.05.2009 14:06
Создание классов с использованием конструкторов различного типа Катюшенька Помощь студентам 0 30.04.2009 20:21
Исправить нерабочую программу с использованием СТЕКА, С++ Vikylik Помощь студентам 2 22.04.2009 13:00
Создание классов и использование объектов классов при написании программ в среде C++. Frozen inside Помощь студентам 0 16.04.2009 23:18
Переписать программу с использованием функций, С++ Vikylik Помощь студентам 2 09.04.2009 10:39