Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 1
Регистрация: 07.12.2016
Сообщений: 2

Задача на массивы Java

07.12.2016, 21:12. Показов 1753. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот мое решение: del
Вот сама задача: del

Нужно доработать механизм проверки кораблей на кол-во палуб. Завис на этой проблеме. Подскажите.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2016, 21:12
Ответы с готовыми решениями:

Java массивы
Создать двумерный массив размером n*n, чтобы он заполнялся так: Для n = 5: xxxxx xooox xoxox ...

Массивы в Java
Доброго времени суток. Подскажите пожалуйста, как из выражения, к примеру x+4, введённого в TextField, создать массив? Заранее большое...

массивы в Java
помогите плиз )) не могу понять как инициализировать двумерный массив, спасибо за ранее )))

2
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
07.12.2016, 21:18
условие задачи и текст решения - перепечатываем на форум руками.
1
0 / 0 / 1
Регистрация: 07.12.2016
Сообщений: 2
07.12.2016, 21:24  [ТС]
Лучший ответ Сообщение было отмечено liwgfr как решение

Решение

Условие задачи:
Вам дано расположение кораблей на доске 10 x 10 при игре в морской бой. На ней по правилам должно быть размещено:
четырехпалубных —- 1 шт.;
трехпалубных — 2 шт.;
двухпалубных — 3 шт.;
однопалубных — 4 шт.


Корабли не должны "изгибаться" и касаться друг друга любым образом. Ваша задача для данного набора досок указать соответствуют ли они описанным правилам.


Входные данные
В первой строке записано число n (1 ≤ n ≤ 10) — количество досок. Каждая доска описывается 10 строками по 10 символов. Символ "0" обозначает, что клетка пуста, а символ "*", что занята. Описания досок разделяются пустыми строками.


Выходные данные
Выведите n строк YES или NO. Первое слово выводите, если доска соответствует правилам, а второе в противном случае.


Пример(ы)
input.txt
output.txt
2
****000000
0000000000
***00***00
0000000000
00000000**
000**00000
00000000**
000*000000
00000*00*0
0*00000000

****000000
0000000000
***00***00
0000000000
00000000**
000**00000
00000000**
0000*00000
00000*00*0
0*00000000
YES
NO


________________________


Моё решение:

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.util.Scanner;
public class Solution {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
 
        int n = in.nextInt();
 
 
        for (int i = 0; i < n; i++) {
            int a[][] = new int[14][14];
            for (int j = 0; j < 10; j++) {
                String s = in.next();
 
                for (int k = 0; k < s.length(); k++) {
                    if (s.charAt(k) == '*') {
                        a[j + 1][k + 1] = 7;
                    }
 
                }
 
            }
            System.out.println(check(a));
 
        }
 
 
    }
 
 
    public static int step[][] = {  //TODO Âûíåñòè â Main
            {1, 1},
            {-1, 1},
            {1, -1},
            {-1, - 1}
    };
 
    public static String check(int x[][]) {
 
        for (int i = 1; i < 11; i++) { // i = ñòîëáöû
 
            for (int j = 1; j < 11; j++) { // j = ñòðîêè
                // System.out.print(i + "  " + j);
                if (x[i][j] == 7) {
                    for (int is = 0; is < 4; is++) {
                        // System.out.println(is + " ");
                        if (x[i + step[is][0]][j + step[is][1]] == 7) {
                            return "NO";
                        }
                /*if (x[i][j] == 7 && (x[i+1][j+1] == 7 || x[i-1][j+1] == 7)) {
                    return "NO";
                   */
                    }
 
 
                    x[i][j] = Math.max (x[i][j-1],x[i-1][j])+1;
                    int cnt[] = new int[4];
                    
                }
 
            }
 
 
        }
        return "YES";
 
    }
}
_______________________
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2016, 21:24
Помогаю со студенческими работами здесь

Java и массивы
Доброго всем-предоброго вечера! Прошу помощи! Сразу скажу, с Java столкнулась впервые, и вот такая проблема! Есть задача сформировать...

Массивы и строки на Java
Помогите, пожалуйста, решить следующие задачи: 1. Напишите программу, которая из двух непустых неубывающих массивов целых чисел,...

Линейные массивы на java
Всем доброго дня суток...Дан линейный массив из n элементов .Нужно реализовать корень квадратного модуля произведения отрицательных...

Массивы JAVA (Коллекции)
Написать код программы, позволяющий обрабатывать сведения о 100 сокровищах в пещере дракона. Реализовать возможность просмотра сокровищ,...

Сравнить массивы Java
Подскажите, как сравнить два массива чисел и занести все совпавшие числа в переменные. Типа есть: и Сравнить их и занести в переменные...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru