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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 22:28   #1
lilek
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 21
По умолчанию одномерный массив с классами

Помогите написать одномерный массив с использование классов.
Задание на одномерный массив: с целочисленного массива A(n) создать массив B(n), в котором с начала расположить элементы кратные двум, потом кратные трём, в конце - остальные элементы.

Вот решение самого массива:
Код:
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include "fun_console.h"
#include <stdlib.h>
#include "stdafx.h"

void main()
{
	int i, j, m;
SetColor(10,0);
cout<<endl<<"kolichestvo elementov = ";
  cin>>m;
  cout<<"\n";
int *mas1=new int[m];
int *mas2=new int[m];
	for (i = 0;i < m;i++)
 mas1[i]=rand()%100;
  for (i=0;i < m;i++)
	  cout<<mas1[i]<<"   ";
  cout<<"\n\n\n";
j=0;
for (i=0;i<m;i++)
{
if (mas1[i] % 2 == 0 && mas1[i] % 3 !=0) 
{
	    mas2[j]=mas1[i];
		cout<<mas2[j]<<"   ";
		j++;
		
}

}
j++;
for (i=0;i<m;i++)
{
if (mas1[i] % 3 == 0 && mas1[i] % 2 !=0) 
{

    mas2[j]=mas1[i];
	cout<<mas2[j]<<"   ";
	j++;
}

}
j++;
for (i=0;i<m;i++)
{
if (mas1[i] % 3 == 0 && mas1[i] % 2 ==0) 
{

    mas2[j]=mas1[i];
	cout<<mas2[j]<<"   ";
	j++;
}

}
j++;

for (i=0;i<m;i++)
{
if (mas1[i] % 2 != 0 && mas1[i] % 3 != 0)
{
	
mas2[j]=mas1[i];
cout<<mas2[j]<<"   ";
j++;
}
}
cout.flush();
getch();
delete[]mas1;
delete[]mas2;
}
А вот я пыталась решить с помощью классов:
Код:
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include "fun_console.h"
#include <stdlib.h>
#include "stdafx.h"


class mas
{
public:
	void zap();
	double sort1();
	double sort2();
	double sort3();
	double sort4();
int *mas1, *mas2;
	mas(int m, int *mas1, int *mas2);
};

void mas::zap()
{
	int i, m;
cout<<endl<<"kolichestvo elementov = ";
  cin>>m;
  cout<<"\n";
int *mas1=new int[m];
int *mas2=new int[m];
	for (i = 0;i < m;i++)
 mas1[i]=rand()%100;
  for (i=0;i < m;i++)
	  cout<<mas1[i]<<"   ";
}
mas::mas(int m, int *mas1, int *mas2){};

double mas::sort1()
{
	int i, int m, int *mas1, int *mas2;
cout<<"\n\n\n";
int j=0;
for (i=0;i<m;i++)
{
if (mas1[i] % 2 == 0 && mas1[i] % 3 !=0) 
{
	    mas2[j]=mas1[i];
		cout<<mas2[j]<<"   ";
		j++;
		
}
}

double mas::sort2()
{
j++;
for (i=0;i<m;i++)
{
if (mas1[i] % 3 == 0 && mas1[i] % 2 !=0) 
{

    mas2[j]=mas1[i];
	cout<<mas2[j]<<"   ";
	j++;
}

}
}

double mas::sort3()
{
j++;
for (i=0;i<m;i++)
{
if (mas1[i] % 3 == 0 && mas1[i] % 2 ==0) 
{

    mas2[j]=mas1[i];
	cout<<mas2[j]<<"   ";
	j++;
}

}
}

double mas::sort4()
{
j++;

for (i=0;i<m;i++)
{
if (mas1[i] % 2 != 0 && mas1[i] % 3 != 0)
{
	
mas2[j]=mas1[i];
cout<<mas2[j]<<"   ";
j++;
}
}
}

void main()
{
mas a(0,0,0,0);
cout<<a.zap<<endl;
cout<<a.sort1();
cout<<a.sort2();
cout<<a.sort3();
cout<<a.sort4();

cout.flush();
getch();
delete[]mas1;
delete[]mas2;

//return 0;
}}
Но оно мне пишет ошибки в строчках:
double mas::sort2(), double mas::sort3(), double mas::sort4() и void main().
А сама ошибка переводится так: использование локальной функции незаконно.
В чем ошибка??? Подскажите, пожалуйста)
lilek вне форума Ответить с цитированием
Старый 08.03.2011, 12:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно пишет. Судя по }} в конце у тебя эти функции, находятся в других функциях... Посмотри внимательно как ты описал. Где-то не там {} стоят
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив Nastya555 Паскаль, Turbo Pascal, PascalABC.NET 8 08.06.2010 17:20
одномерный массив serega721 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 15.05.2010 20:12
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40