C/C++ - Распечатать результат в порядке возрастания

Ответить
Аватара пользователя
Frozen_Sky

C/C++ - Распечатать результат в порядке возрастания

Сообщение Frozen_Sky »

Написал код, вроде работает, единственная проблема, нужно, чтобы результат выводился в порядке возрастания, но я не знаю как это сделать...помогите пожалуйста, завтра уже сдать нужно...

Код: Выделить всё

#include "stdafx.h"
#include "conio.h"
int main()
{
	unsigned int lenthOfArray=0;         //переменная длины массива
	scanf ("%d", &lenthOfArray);                 //считываем длину массива
	if ( lenthOfArray<2 || lenthOfArray>20) // проверка на корректность ввода
	{
		printf ("outside the range");
		getch();
		return 0;
	}
	//создаем Массив 
	int** Array = new int *[lenthOfArray];
	for (int i = 0; i < lenthOfArray; i++)
		Array[i] = new int [2];
	for(int i=0;i<lenthOfArray;i++)
	{
		Array[i][1]=0;                  //заполняем 0 количество повторов для каждого элемента
	}
	unsigned int max=0;
	printf ("\n");
	for(int i=0;i<lenthOfArray;i++)
	{
		scanf ("%d", &Array[i][0]);            //считываем массив
		for(int j=0;j<i;j++)
		{
			if(Array[j][0]==Array[i][0])
				Array[i][1]++;         //увеличиваем на 1, если такой элемент уже встречался
		}
		if ( Array[i][0]<-1000 || Array[i][0]>1000) // проверка на корректность ввода
		{
		printf ("outside the range");
		getch();
		return 0;
		}
	}
	for(int i=0;i<lenthOfArray;i++)
	{
		if (Array[i][1]>max)
		{
			max=Array[i][1];       //ищем максимальное число повторов
		}
	}
	printf ("\n");
	for(int i=0;i<lenthOfArray;i++)
	{
		if (Array[i][1]==max)
		{
			printf ("%d ", Array[i][0]);   //выводим элементы с максимальным числом повторов
		}
	}
	getch();
	for (int i = 0; i < lenthOfArray; i++)
	{
		delete [] Array[i];
	}
	delete [] Array;
	return 0;
}
Ответить

Вернуться в «Программирование и базы данных»