Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 1
Регистрация: 05.01.2012
Сообщений: 29

Обработка двумерных массивов

06.10.2015, 22:30. Показов 1565. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с заданием пожалуйста.
В двумерном массиве определить номера строк, в которых находится самая длинная последовательность подряд идущих элементов с одинаковыми значениями.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2015, 22:30
Ответы с готовыми решениями:

Сложение двумерных массивов
Всем привет. Есть класс для работы с матрицами, который создает и заполняет случайными числами двумерный массив вида int matrix = new int; ...

Создание N двумерных массивов
Добрый день, столкнулся с такой задачей, предполагается, что заранее неизвестно количество двумерных массивов и их размерность....

Обработка двумерных массивов
Дана матрица A целых чисел и переменная Х. Элементы нечетных строк матрицы А заменить на Х. Помогите пожалуйста дописать код по...

9
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
07.10.2015, 06:12
В чем именно проблема?
0
 Аватар для bazJaz
36 / 33 / 21
Регистрация: 11.07.2014
Сообщений: 390
07.10.2015, 09:55
Если я правильно понял задание тогда будет так:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class Array {
 
    private final static int HEIGHT = 2;
    private final static int WIDTH = 2;
 
    public static void main(String[] args) {
        getLineNumber();
    }
    public static int getLineNumber(){
        String[][] array  = initArray();
        StringBuilder builder = new StringBuilder();
        int countRow = -1;
        int maxLength = -1;
        for (int i = 0; i < HEIGHT; i++) {
            builder.delete(0, builder.length());
            for (int j = 0; j < WIDTH; j++) {
                builder.append(array[i][j]);
            }
            if (maxLength < builder.length()){  //if set '<=' last great string, if set '<' - first
                countRow = i;
                maxLength = builder.length();
            }
        }
        System.out.println("countRow "+countRow);
        System.out.println("maxLength "+maxLength);
        return countRow;
    }
    /**
     * Initialization two-dimensional array
     * @return array
     * */
    public static String[][] initArray(){
        Scanner scanner = new Scanner(System.in);
        String[][] array = new String[HEIGHT][WIDTH];
        for (int i = 0; i < HEIGHT; i++) {
            for (int j = 0; j < WIDTH; j++) {
                System.out.printf("Enter string ["+i+"]["+j+"] : ");
                array[i][j] = scanner.nextLine();
            }
            System.out.println("");
        }
        for (int i = 0; i < HEIGHT; i++) {
            for (int j = 0; j < WIDTH; j++) {
                System.out.printf(array[i][j]+" ");
            }
            System.out.println("");
        }
        return array;
    }
}
0
2 / 2 / 1
Регистрация: 05.01.2012
Сообщений: 29
07.10.2015, 19:25  [ТС]
Это не совсем то. Нужно вывести номера строк с самой длинной последовательностью элементов с одинаковыми значениями.
Например есть массив:

4 1 1 1 - одинаковые значения 1 1 1 - три элемента
2 3 5 5
2 2 2 7 - одинаковые значения 2 2 2 - три элемента
6 3 3 3 - одинаковые значения 3 3 3 - три элемента

нужно вывести номера строк - 1, 3 и 4

или если массив:

4 4 4
4 5 6
7 8 3

то вывести номер строки - 1
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
07.10.2015, 20:26
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Array {
    public static void main(String[] args) {
 
        int[][] massive = {
                {1, 3, 5, 3, 4, 6},
                {3, 3, 5, 2, 4, 6},
                {1, 3, 9, 3, 7, 6},
                {1, 5, 5, 3, 4, 6},
                {1, 2, 5, 5, 5, 6},
        };
 
        int count = 0;
        int countItogStr = 0;
        int[] index = new int[massive.length];
        int number;
 
        //ищем повторения и их кол-во в массиве
        for (int i = 0; i < massive.length; i++){
            for (int n = 0; n < massive[i].length; n++){
                number = massive[i][n];
                count = 0;
                for (int j=0; j < massive[i].length; j++){
                   if (number == massive[i][j]) count++;
                }
                if (count > countItogStr) countItogStr = count;
 
            }
            index[i] = countItogStr;
        }
        
        //ищем максимальное число повторений
        count = index[0];
        for (int i = 0; i < index.length; i++){
            if (count < index[i]) count = index[i];
        }
        
        System.out.print("Самое максимальное число повторов в строке(-ках): ");
 
        for (int i = 0; i < index.length; i++){
            if (count == index[i]) System.out.print(i);
        }
    }
}
Добавлено через 35 секунд
не эффективно, конечно, наверное, я реализовал, но задание поставленное выполняет )))
0
2 / 2 / 1
Регистрация: 05.01.2012
Сообщений: 29
07.10.2015, 20:50  [ТС]
{1, 3, 5, 3, 4, 6},
{3, 3, 5, 2, 4, 6},
{1, 3, 9, 3, 7, 6},
{1, 5, 5, 3, 4, 6},
{1, 2, 5, 5, 5, 6} эта строка самая длинная, а выводит 4 строку, а должно 5 строку выводить т.к. тут наибольшая последовательность элементов с одинаковым значением 5.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
07.10.2015, 21:03
if (count == index[i]) System.out.print(i);

упс, тут сделай

if (count == index[i]) System.out.print(i + 1); т.к. массив с 0 начинается

Добавлено через 1 минуту
0 строчка и до 4-й... Если с 0 считать всё правильно )))
0
2 / 2 / 1
Регистрация: 05.01.2012
Сообщений: 29
07.10.2015, 21:10  [ТС]
Тут все равно что-то неправильно т.к. с массивом
{1, 4, 5},
{3, 3, 3},
{7, 8, 9},

выводит номера: 2 и 3, а должно 2


с массивом
{1, 1, 1, 1},
{3, 6, 3, 2},
{7, 7, 7, 5},
{7, 8, 9, 5}
выводит вообще: 1 2 3 4 , а должно 1 строку выводить
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
07.10.2015, 21:50
Забыл countItogStr обнулять (((
Вот исправил

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Array {
    public static void main(String[] args) {
 
        int[][] massive = {
                           {1, 4, 5},
                           {3, 3, 3},
                           {7, 8, 9}
 
                           };
 
        int count = 0;
        int countItogStr = 0;
        int[] index = new int[massive.length];
        int number;
 
        //ищем повторения и их кол-во в массиве
        for (int i = 0; i < massive.length; i++){
            for (int n = 0; n < massive[i].length; n++){
                number = massive[i][n];
                count = 0;
                for (int j=0; j < massive[i].length; j++){
                   if (number == massive[i][j]) count++;
                }
                if (count >= countItogStr) countItogStr = count;
            }
            index[i] = countItogStr;
            countItogStr = 0;
        }
 
        
        //ищем максимальное число повторений
        count = index[0];
        for (int i = 0; i < index.length; i++){
            if (count < index[i]) count = index[i];
        }
 
        //Выводим ответ
        System.out.print("Самое максимальное число повторов в строке(-ках): ");
        for (int i = 0; i < index.length; i++){
            if (count == index[i]) System.out.print(i+1 + " ");
        }
    }
}
1
2 / 2 / 1
Регистрация: 05.01.2012
Сообщений: 29
07.10.2015, 22:00  [ТС]
Спасибо большое ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2015, 22:00
Помогаю со студенческими работами здесь

Обработка двумерных массивов
Разработать алгоритм и составить программу решения задачи. Задача: Найти среднее геометрическое положительных элементов матрицы C(8,6)...

обработка двумерных массивов
А(20,20) В исходной строке определить количество нулевых элементов и поделить на это количество каждый положительный элемент в этой...

Обработка двумерных массивов
Вычислить количество положительных элементов в целочисленном массиве M(3x4 элементов), значения которых не превышают 17, и записать их в...

Обработка двумерных массивов
Количество элементов массива: 3,4 Тип: Целый Цель: Найти сумму минимального и максимального элементов (пожалуйста помогите)

: Обработка двумерных массивов
Дана матрица В(4, 3). Заменить отрицательные элементы произведением положительных элементов.. Объясните пожалуйста как делать


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru