Минимальный элемент массива

 
0
 
Java
ava
Vernus | 09.06.2010, 23:50
Добрый день. Возникли проблемы со следующей задачей. Есть первоначальный массив Mas. В нем нужно найти минимальный элемент, записать его в новый массив, удалить минимальный элемент из первого массива, в первом массиве снова найти минимальный элемент и т.д., пока не заполнится второй массив. Код программы.

public class Mass {

public static void main(String args[]) {


int[] Mas = {1,2,3,4,5,6,7,8,9,10}; /*исходный массив*/
int m = Mas.length;
int[] Minimum=new int[8] ; /*массив минимальных элементов*/
for (int i=0; i<8; i++) {
Minimum[i] = 0;
}

int min = Mas[9]; /*минимальный элемент*/

for(int i=0; i<m; i++) {
/*нахождение минимального элемента*/
if(min>Mas[i]) {
min=Mas[i];
/*удаление минимального элемента из массива*/
for(int j=i; j<m; j++) {
Mas[i]=Mas[i+1];
}
m--;
/*запись минимального элемента в новый массив*/
Minimum[i]=min;

}
}
for(int k=0; k<8; k++) {
System.out.print(Minimum[k]+" ");
}
}
}

Проблема в том, что в минимальный элемент находится только один раз.
Ответы (4)
ava
Sibit | 10.06.2010, 05:31 #
Что-то у тебя намучено сильно, во-первых, у тебя находится не минимальный элемент, а первый, который меньше. Во-вторых, массив {1,2,3,4,5,...} не очень подходит для тестирования таких задач, тут лучше брать массив со случайными числами. Плюс непонятно, почему у тебя начальный массив 10 элементов, а результирующий 8? В твоем алгоритме нужен еще один цикл, один - это поиск минимального элемента, второй - заполнение массива минимальными элементами.






ava
aleksandy | 10.06.2010, 07:15 #
Судя по описанию задачи, нужно получить отсортированный по возрастанию массив. Так? Тогда почему бы не возспользоваться стандартным java.util.Arrays#sort()?
ava
Sibit | 10.06.2010, 08:22 #
aleksandy, я думаю, это неспортивно smile
ava
totoiiiuk | 15.06.2010, 07:12 #
Привет китайцам smile
Ошибка вот в этой строке: Minimum[i]=min; // новый массив должен начинаться не с i-го, а с 0-го
Ешо вот тут ты находишь не минимальный элемент: min>Mas[i]
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить