Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

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

Ответ
 
Опции темы
Старый 16.12.2018, 21:34   #1
Perishte
Новичок
 
Регистрация: 14.12.2018
Сообщений: 1
Репутация: 10
По умолчанию Вывод максимального и уникального элемента в массиве (java)

Добрый день! Работаю в среде eclipse.Я являюсь новичком в java.Нам задали следующее задание.Выводятся все элементы массива и максимальный элемент выводиться но не выводятся уникальные элементы.Подскажите пожалуйста что я делаю не так.
Вот задание-Напишите функцию с именем hasSingleMaximum, который принимает аргумент массива и возвращает 1, Если максимальное значение в аргументе массива происходит ровно один раз в массиве, в противном случае он возвращает 0.
Если вы пишете на Java или C#, сигнатура функции
int hasSingleMaximum (int[ ] a)
Вот код.


Код:

public class hasSingleMaximum {
    
    static int hasSingleMaximum (int [] a)
    {
        if(a==null || a.length==0) return 0;
        int maxNumber= a[0];
        int array=a.length;
        boolean alreadythere;
        
        for(int i=0; i<a.length; i++)
        {
            if(a[i]>maxNumber) maxNumber=a[i];
            System.out.println("Elements of array: "+a[i]);
            alreadythere=false;
            a[i]=array;
            for(int j=0; j<=i; j++)
            {
                if(a[j]==array)
                {
                    alreadythere=true;
                    break;
                    }
                }
            if(!alreadythere)
                a[i]=array;
        }
        
        System.out.println("array contains " + java.util.Arrays.toString(a));
        System.out.println("Max number is "+maxNumber);
        return 1;
    }
    
    public static void main(String args[])
    {
        hasSingleMaximum (new int [] {1,2,3,4,4,4,5,5});
    }
 
 
}

Вот результат:
Elements of array: 1
Elements of array: 2
Elements of array: 3
Elements of array: 4
Elements of array: 4
Elements of array: 4
Elements of array: 5
Elements of array: 5
array contains [8, 8, 8, 8, 8, 8, 8, 8] //Возникает ошибка.Выводятся только 8
Max number is 5


Заранее спасибо!
Perishte вне форума   Ответить с цитированием
Старый 16.12.2018, 22:02   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 13,109
Репутация: 2237
По умолчанию

Ну так вы сами длинной массива перезаписываете... аж два раза:
Код:

            a[i]=array;

            if(!alreadythere)
                a[i]=array;

__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 16.12.2018, 23:49   #3
JavaDoc
Пользователь
 
Регистрация: 15.12.2018
Сообщений: 12
Репутация: 10
По умолчанию

Код:

public class hasSingleMaximum {
    
    static int hasSingleMaximum (int [] a)
    { 
Int rsl =0;
        if(a==null || a.length==1) {return 1;}
        int maxNumber= a[0];
 //       int array=a.length; зачем??
        boolean alreadythere=false;
        
        for(int i=1; i<a.length; i++)
        {
            if(a[i]>maxNumber) {
maxNumber=a[i];
            alreadythere=false;
            } else if(a[i]==maxNumber){
alreadythere=true;
     }
}
If(!alreadythere){
rsl=1;}
        return rsl;
    }
    
    public static void main(String args[])
    {
       System.out.println( hasSingleMaximum (new int [] {1,2,3,4,4,4,5,5}));
    }
}

Строго не судить пишу с телефона
JavaDoc вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi7.Поиск минимального и максимального элемента в массиве Tony Hudson Помощь студентам 4 05.03.2015 21:30
Поиск максимального четного элемента в массиве phreaker228 Помощь студентам 0 05.06.2011 14:44
Поиск максимального отрицательного элемента в массиве Tomoa Microsoft Office Excel 6 27.11.2009 16:10
Поиск максимального элемента в массиве Alexus999 Помощь студентам 8 08.06.2009 19:47


22:35.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru