Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Минимальный элемент массива, Найти минимальный элемент в массиве 
:(
    Опции темы
Vernus
Дата 9.6.2010, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.6.2010

Репутация: нет
Всего: нет



Добрый день. Возникли проблемы со следующей задачей. Есть первоначальный массив 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]+" ");
        }
}
}

Проблема в том, что в минимальный элемент находится только один раз.
PM MAIL   Вверх
Sibit
Дата 10.6.2010, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.10.2009
Где: NSK

Репутация: нет
Всего: 1



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








Это сообщение отредактировал(а) Sibit - 10.6.2010, 07:03
PM MAIL   Вверх
aleksandy
Дата 10.6.2010, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 17.12.2006

Репутация: 4
Всего: 5



Судя по описанию задачи, нужно получить отсортированный по возрастанию массив. Так? Тогда почему бы не возспользоваться стандартным java.util.Arrays#sort()?
PM   Вверх
Sibit
Дата 10.6.2010, 08:22 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.10.2009
Где: NSK

Репутация: нет
Всего: 1



aleksandy, я думаю, это неспортивно smile
PM MAIL   Вверх
totoiiiuk
Дата 15.6.2010, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 3.12.2007

Репутация: нет
Всего: нет



Привет китайцам  smile 
Ошибка вот в этой строке: Minimum[i]=min; // новый массив должен начинаться не с i-го, а с 0-го
Ешо вот тут ты находишь не минимальный элемент: min>Mas[i]

Это сообщение отредактировал(а) totoiiiuk - 15.6.2010, 07:15
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.