Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
2 / 2 / 0
Регистрация: 14.12.2018
Сообщений: 37
1

Последовательность нулей

21.12.2018, 08:15. Показов 1790. Ответов 14
Метки нет (Все метки)

Добрый день! Помогите пожалуйста! Вопрос жизни и смерти. Как можно указать такое условие? Условие-Необходим указать последовательность 0.То есть если в массиве есть последовательность 4-х нулей она возвращает один иначе 0.
Можно ли это указать как

if(a[i]==0*4) или как будет правильно? Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2018, 08:15
Ответы с готовыми решениями:

Матрица складывается с нулей и единиц. Найти в ней самую длинную цепь подряд нулей
Матрица складывается с нулей и единиц. Найти в ней самую длинную цепь подряд нулей, что стоять, по...

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

Дана последовательность из P нулей и единиц. Определить в каких позициях начинаются цепочки нулей
Здравствуйте форумчане, у меня сложились трудности с решением одной задачки, и я даже незнаю как к...

Дана последовательность из n вещественных чисел. Найти наиболее длинную последовательность подряд идущих нулей.
Дана последовательность из n вещественных чисел. Найти наиболее длинную последовательность подряд...

14
1893 / 1509 / 374
Регистрация: 17.02.2014
Сообщений: 7,613
21.12.2018, 08:37 2
Лучший ответ Сообщение было отмечено units как решение

Решение

Java
1
2
3
4
5
 public static void main(String[] args) {
        int[] arrInt = {0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1};
        if (4 <= IntStream.of(arrInt).filter(x-> x == 0).count())
            System.out.println("\nЕсть больше 4-х \'0\'");
    }
Добавлено через 2 минуты
Цитата Сообщение от units Посмотреть сообщение
последовательность
это не для непрерывной последовательности!
2
2 / 2 / 0
Регистрация: 14.12.2018
Сообщений: 37
21.12.2018, 08:48  [ТС] 3
Спасибо большое ! Очень выручили.

Добавлено через 1 минуту
if (4 <= IntStream.of(arrInt).filter(x-> x == 0).count())

Извините за глупый вопрос.Можете подсказать что означает intstream и filter и можно ли их использовать в отдельной функции?

Добавлено через 7 минут
Вот код: Я правильно поняла или нет?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class zero {
    static int isZeroPlentiful(int[ ] a)
    {
        int x=0;
        int arrInt=0;
        int Intstream=0;
        for(int i=0; i<=a.length; i++)
        {
            if (4 <= IntStream.of(arrInt).filter(x-> x == 0).count()){
                    System.out.println("\nЕсть больше 4-х \'0\'");
           
 
            }else{
                 break;
            }
            
            
        }
        
        return arrInt;
        
    }
    
    public static void main(String args[])
    {
        isZeroPlentiful(new int [] {1,2,0,0,0,0,3,4});
    }
 
}
0
1893 / 1509 / 374
Регистрация: 17.02.2014
Сообщений: 7,613
21.12.2018, 09:30 4
Лучший ответ Сообщение было отмечено units как решение

Решение

Цитата Сообщение от units Посмотреть сообщение
Можете подсказать что означает intstream и filter
https://annimon.com/article/2778

вот, проще
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String[] args) {
        int[] arrInt = {0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, };
        int counterZeroSeq = 0;
        for (int tmp : arrInt){
            if (tmp == 0 && counterZeroSeq < 5)
                counterZeroSeq++;
            else counterZeroSeq = 0;
            if (counterZeroSeq == 4)
                break;
        }
        if (counterZeroSeq == 4)
            System.out.println("\nЕсть непрерывная последовательность из 4-х \'0\'");
    }
1
2 / 2 / 0
Регистрация: 14.12.2018
Сообщений: 37
21.12.2018, 10:06  [ТС] 5
Спасибо Aviz большое вам! Вы меня очень очень выручили.Счастья вам , крепкого здоровья и успехов!А также выражаю огромную благодарность создателям форума.Очень полезный форум , где можно научиться много-чему.
2
1893 / 1509 / 374
Регистрация: 17.02.2014
Сообщений: 7,613
21.12.2018, 10:08 6
units, И вам, любви, денег и детей!
1
2 / 2 / 0
Регистрация: 14.12.2018
Сообщений: 37
21.12.2018, 10:09  [ТС] 7
Спасибо большое!
0
display "I'LL BE BACK"
1200 / 824 / 253
Регистрация: 02.04.2009
Сообщений: 3,076
21.12.2018, 10:28 8
units,

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Arrays;
 
public class Start {    
    public static void main(String[] args) {
        int[] array = {0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, };
        
        String string = Arrays.toString(array).replaceAll(", ", "");
        
        if (string.contains("0000")) {
            System.out.println("в массиве есть последовательность 4-х нулей!!!");
        }
        else {
            System.out.println("в массиве нет последовательности 4-х нулей");
        }       
    }   
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10914 / 6840 / 1625
Регистрация: 25.07.2009
Сообщений: 12,544
21.12.2018, 11:01 9
Kukstyler, плохой способ. Нигде же не сказано, что в массиве могут быть только нули и единицы. Сработает на 10000, 20000, 300003, etc...
0
display "I'LL BE BACK"
1200 / 824 / 253
Регистрация: 02.04.2009
Сообщений: 3,076
21.12.2018, 11:14 10
easybudda, разницы никакой.
Условие:
Цитата Сообщение от units Посмотреть сообщение
если в массиве есть последовательность 4-х нулей
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Arrays;
 
public class Start {    
    public static void main(String[] args) {
        int[] array = {9, 8, 0, 1, 5, 0, 7, 0, 0, 0, 0, 6, 4, 7, 3, };
        
        String string = Arrays.toString(array).replaceAll(", ", "");
        
        if (string.contains("0000")) {
            System.out.println("в массиве есть последовательность 4-х нулей!!!");
        }
        else {
            System.out.println("в массиве нет последовательности 4-х нулей");
        }       
    }   
}
1
Эксперт Java
3049 / 2544 / 782
Регистрация: 05.07.2013
Сообщений: 12,308
21.12.2018, 11:17 11
Kukstyler, а если подумать?
0
display "I'LL BE BACK"
1200 / 824 / 253
Регистрация: 02.04.2009
Сообщений: 3,076
21.12.2018, 11:38 12
xoraxax, а если привести пример, при котором код не удовлетворит условие?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Arrays;
 
public class Start {    
    public static void main(String[] args) {
        int[] array = {9, 800004751, 0, 1, 5, 0, 7, 0, 6, 4, 7, 3, };
        
        String string = Arrays.toString(array).replaceAll(", ", "");
        
        if (string.contains("0000")) {
            System.out.println("в массиве есть последовательность 4-х нулей!!!");
        }
        else {
            System.out.println("в массиве нет последовательности 4-х нулей");
        }       
    }   
}
Добавлено через 6 минут
xoraxax, eсли имеется в виду последовательность чисел а не цифр - то да, мой код ищет последовательность цифр а не чисел (если ты об этом).

Добавлено через 8 минут
Если на числа (а не цифры), то можно так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Arrays;
 
public class Start {    
    public static void main(String[] args) {
        int[] array = {9, 800004751, 0, 1, 5, 0, 0, 0, 0, 7, 0, 6, 4, 7, 3, };
        
        String string = Arrays.toString(array);
        
        if (string.contains("0, 0, 0, 0")) {
            System.out.println("в массиве есть последовательность 4-х нулей!!!");
        }
        else {
            System.out.println("в массиве нет последовательности 4-х нулей");
        }       
    }   
}
0
Эксперт Java
3049 / 2544 / 782
Регистрация: 05.07.2013
Сообщений: 12,308
21.12.2018, 11:49 13
Цитата Сообщение от easybudda Посмотреть сообщение
в массиве могут быть только нули и единицы. Сработает на 10000, 20000, 300003, etc
тебе и говорят, что твое решение некорректно
0
display "I'LL BE BACK"
1200 / 824 / 253
Регистрация: 02.04.2009
Сообщений: 3,076
21.12.2018, 11:55 14
Цитата Сообщение от xoraxax Посмотреть сообщение
тебе и говорят
А я и говорю, что если речь идёт о последовательности цифр "0", то разницы никакой нет.
Если же речь о последовательности чисел "0" (то есть, последовательность item-ов массива, в которых числа равны 0-ю), то тогда согласен, первый вариант не сработает.
0
2 / 2 / 0
Регистрация: 14.12.2018
Сообщений: 37
21.12.2018, 16:13  [ТС] 15
Спасибо за ответ!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2018, 16:13

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Последовательность единиц и нулей
помогите написать функцию которая посчитает и выведет число всех последовательностей например...

Последовательность из 40 нулей и единиц
Всем доброго времени суток. Дали задание курсовой, даже нет идей как это реализовать. Задание:...

Максимальная последовательность нулей
Написать программу определяющая максимальную последовательность нулей пример 10011101010000011...

Построить последовательность b1 ... bn из нулей и единиц
Дано натуральное число n и натуральная квадратная матрица порядка n, каждый элемент которой не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.