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

Количество перемещений в массиве

03.03.2018, 19:22. Показов 2136. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В первой строке записано целое положительное число n (1 ≤ n ≤ 100) — количество блоков, в которых записан файл.
Во второй строке следует последовательность из n различных целых положительных чисел a1, a2, ..., an (1 ≤ ai ≤ n), где ai-е равно номеру блока файла, который расположен на жестком диске в позиции i от начала
Выведите количество перемещений считывающей головки жесткого диска, чтобы прочитать весь файл целиком. Изначально считывающая головка расположена в начале жесткого диска (то есть над самым левым из блоков в их записи во входных данных).
Пример:
входные данные
5
4 3 1 5 2
выходные данные
11

вот мой код, считает неверно( подскажите, что исправить

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
public class Solution {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int[] chisla = new int[a];
        for(int i=0;i < chisla.length; i++){
            chisla[i]=scanner.nextInt();
        }
 
 
        int indexofmin=0;
        for(int i=0;i<chisla.length;i++) {
          if(chisla[i]<chisla[indexofmin]){
              indexofmin=i;
        }}
 
        int min=2;
        int sum=indexofmin;
        int count=0;
        System.out.println(sum);
        for (int i=0; i<chisla.length;i++) {
                if(chisla[i]==min) {
                    if (indexofmin > i) count = indexofmin - i;
                    else count = i - indexofmin;
                    indexofmin = i;}
                    sum = sum + count;
                min++;
                }
 
 
        System.out.println(sum);}}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2018, 19:22
Ответы с готовыми решениями:

Количество элеметов в массиве
Привет всем! Скажите, пожалуйста, возможно ли создать массив с long количеством элементов. Boolean arr = new Boolean Так не...

Минимальное количество перемещений
За один раз Вася может поменять местами два шампура. Помогите Васе подсчитать наименьшее количество перемещений шампуров. Формат...

Выведите минимальное количество перемещений
3. Шашлыки Имя входного файла input.txt Имя выходного файла output.txt Максимальное время работы на одном тесте 2 секунды ...

8
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.03.2018, 15:35
alena01, можно вот так. Ввод данных на твое усмотрение - файл, консоль...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package ru.ismoke;
 
public class Main {
 
    public static void main(String[] args) {
        int[] blocks = {4, 3, 1, 5, 2};
        int nextPosition, count = 0, position = 0;
 
        for (int i = 1; i <= blocks.length; i++) {
            nextPosition = findPosition(blocks, i);
            count += (Math.abs(position - nextPosition));
            position = nextPosition;
        }
        System.out.println("Need moves: " + count);
    }
 
    private static int findPosition(int[] blocks, int block) {
        for (int i = 0; i < blocks.length; i++) {
            if (blocks[i] == block) return i;
        }
        return 0;
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
08.03.2018, 17:19
каким образом из этих входных данных получается 11?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.03.2018, 17:23
Сколько "шагов" по 1 элементу сделала головка
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
08.03.2018, 17:34
ну т.е. это сумма разностей. Никак не получается 11
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.03.2018, 17:42
Да получается все! Т.е. башка следует по пути 1-2-3-4-5 начиная с 0. "Наматывает" 11 шагов. Я сам сначала не сразу понял откуда они взялись
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
08.03.2018, 18:13
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Да получается все!
а, да, вроде получается
0
0 / 0 / 0
Регистрация: 02.03.2018
Сообщений: 8
13.03.2018, 19:10  [ТС]
Спасибо большое) я уже реализовала немного по-другому)
0
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
13.03.2018, 19:21
Arrays.sort сделай дефрагментацию HDD и получишь меньше ходов головки)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2018, 19:21
Помогаю со студенческими работами здесь

Найти количество перемещений первого элемента заданного массива
Помогите пожалуйста найти количество перемещений первого элемента Я не понимаю , как написать это в программе #include...

В массиве записаны оценки, найти количество пятерок, количество четверок, количество троек и количество двоек
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса. Определить количество пятерок, количество четверок,...

Определить количество пятерок, количество четверок, количество троек и количество двоек в массиве оценок
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса.Определить количество пятерок, количество четверок,...

Найти количество четных чисел в первом массиве и количество нечетных чисел во втором массиве
Даны два массива целых чисел А (15) и В (15). Найти количество четных чисел в первом массиве и количество нечетных чисел во втором массиве....

Массив: Найти в одномерном массиве элемент, который наибольшее количество раз повторяется в массиве
программу нужно сделать в PascalABC.Найти в одномерном массиве элемент,который наибольшее кол-во раз повторяется в массиве. Вывести этот...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru