Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 3
Регистрация: 02.08.2015
Сообщений: 62

Массив: Нахождение длины максимального отрезка

15.10.2015, 22:36. Показов 1353. Ответов 1
Метки нет (Все метки)

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

– В методе main() объявить целое n и действительную матрицу
порядка 2xN, где a[1][i] и a[2][i] – координаты i-ой точки на
плоскости. Значение n и элементы матрицы передать из командной
строки. Точки попарно соединены отрезками. //Можно не из командной строки, а просто вводом

– Добавить в тот же класс метод, который формирует матрицу
расстояний между точками.

– Нахождение длины максимального отрезка оформить в виде
отдельного метода того же класса.

– Результат распечатать.
Вот что накалякал, но сам понимаю, что какая то хрень. Помогите с матрицей, в которой хранятся длины отрезков (вообще не представляю как ее сделать), с остальным разберусь уж ^_^:
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
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
 
public class exercise {
    static void createSegment(double coor[][], double segment[][], int n) {
        for(int i = 0; i < n; i++) {
            for(int j = i + 1; j < n; j++) {
                if((coor[0][i] - coor[0][j]) + (coor[1][i] - coor[1][j]) >= 0) segment[i][j] = Math.sqrt((coor[0][i] - coor[0][j]) + (coor[1][i] - coor[1][j]));
                else segment[i][j] = Math.sqrt((coor[0][j] - coor[0][i]) + (coor[1][j] - coor[1][i]));
                System.out.print(segment[i][j] + " ");
            }
            System.out.println();
        }
    }
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        final int n = input.nextInt();
        double coor[][] = new double[2][n];
        double segment[][] = new double[n][n];
        for(int i = 0; i < 2; i++) {
            for(int j = 0; j < n; j++) {
                coor[i][j] = input.nextDouble();
            }
        }
        createSegment(coor, segment, n);
    }
}
Добавлено через 3 часа 32 минуты
Хотя бы структуру матрицы дайте, а то я сидел, думал, ничего не придумал. =(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2015, 22:36
Ответы с готовыми решениями:

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

Нахождение максимального элемента массива
В начале изучения java, в задании нужно вывести максимальный элемент массива. Моя идея такова: я сравниваю последующий элемент массива с...

Нахождение максимального потока в сети
Помогите написать программу на я языке программирования java(bluej) которая находит максимальный поток в сети(дискретная математика)

1
3 / 3 / 5
Регистрация: 26.09.2015
Сообщений: 37
16.10.2015, 01: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
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
 
public class exercise {
    static void createSegment(double coor[][], double segment[][], int n) {
       for(int i = 0; i<n; i++){
           for(int j = i+1; j<n; j++) {
               segment[i][j] = Math.sqrt(Math.pow(coor[i][0]-coor[j][0], 2)+Math.pow(coor[i][1]-coor[j][1], 2));
            
        }
       
    }}
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        final int n = input.nextInt();
        double coor[][] = new double[n][2];
        double segment[][] = new double[n][n];
     for(int i = 0; i<n; i++){
         coor[i][0] = input.nextDouble();
         coor[i][1] = input.nextDouble();}
        createSegment(coor, segment, n);
        for(int i = 0; i<n; i++){
           for(int j = i+1; j<n; j++) {
               System.out.println(segment[i][j]);
           }}
        input.close();
    }
}
Добавлено через 7 минут
Метод min


Java
1
2
3
4
5
6
7
8
    static double min(double segment[][], int n){
        double r = 0;
         for(int i = 0; i<n; i++){
           for(int j = i+1; j<n; j++) {
               if(segment[i][j]>r){r = segment[i][j];}
           }}
         return r;
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2015, 01:26
Помогаю со студенческими работами здесь

Нахождение минимального и максимального элемента массива
помогите найти ошибку пожалуйста!!!почему не все считает правильно? import java.util.Arrays; public class Task3 { public static...

Массив,нахождение отрезка max длины.
Уважаемые пользователи!!Помогите пожалуйста с написанием программы!!Только начала изучение и пропустила лекцию о массивах ,но как известно...

Нахождение длины отрезка AB на плоскости по координатам его конца
Описать функцию Otr(Ax,Ay,Bx,By) вещественного типа, находящую длину отрезка AB на плоскости по координатам его конца: |AB|=sqrt((Ax-Bx)2 +...

Дан номер единицы длины и длина отрезка L. Вывести длину данного отрезка в метрах
Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины...

Дан номер единицы длины и длина отрезка L в этих единицах. Вывести длину данного отрезка в метрах
15 Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru