Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


В одномерном массиве целых чисел расставить четные числа по возрастанию значений, а затем нечетные по убыванию.


Код: Выделить весь код
#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
	int size, x;
	int j = 0;


	cout <<"Razmer massiva: ";
	cin >> size;
	int* array1 = new int[size];
	cout << "Vvedite elementi massiva ";
	for ( int i = 0; i < size; i++ )
	{
		cin >> array1[i];
	}
	
	// Sozdaem noviy massiv
	int* array2 = new int[size];

	// Zapolnyaem noviy massiv chetnimi chislami
	for ( int i = 0; i < size; i++ )
	{
		if ( array1[i]%2 == 0 )
		{
			array2[j] = array1[i];	
			j+=1;
		}
		if ( i = ( size - 1 ) )
		{
			for ( int k = 0; k < j; k++ )
			{
				for ( int m = (k + 1); m < j; m++ )
				{
					if ( array2[k] > array2[m] )
					{
						x = array2[k];
						array2[k] = array2[m];
						array2[m] = x; 
					}
				}
			}
			
		}
		int a = j;
		int b = j;
	}

	// Yporyadochivaem nechetnie chisla
	for ( int i = a; i < size; i++ )
	{
		if ( array1[i]%2 != 0 )
		{
			array2[a] = array1[i];
			a++;
		}
		if ( i = ( size - 1 ) )
		{
			for ( int k = b; k < size; k++)
			{
				for ( int d = ( k + 1 ); d < size; d++ )
				{
					if ( array2[k] < array2[d] )
					{
						int c = array2[k];
						array2[k] = array2[d];
						array2[d] = c;
					}
				}
			}
		}
	}

	system ("pause");
	return 0;
}


Вот мой код программы, непонятно как сохранить номер последнего члена упорядоченного массива четных чисел,чтобы от этого номера уже начинать потом отсчет множества нечетных чисел, тут я это значение сохранил под именем a и b, но по выходус оператора for значения уничтожаются, может с помощью оператора static можно что-то сделать? и вообще правильно ли я делаю саму программу, т.к. она у меня получилась сильно сложной, я думаю есть какие-то варианты по-проще...

Последний раз редактировалось Drongo, 21-02-2011 в 01:23. Причина: Оформляйте тегом код иначе темы буду перемечать в раздел тест-зона!!!


Отправлено: 15:25, 06-02-2011 | #191