0 / 0 / 0
Регистрация: 26.01.2022
Сообщений: 94

На языке Джава. Выручите пожалуйста! Группа студентов Кембридж приняла участие в Российском марафоне. В результате ор

20.02.2022, 08:29. Показов 1240. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На языке Джава. Выручите пожалуйста!!!

Группа студентов Кембридж приняла участие в Российском марафоне. В результате
организаторы предоставили им следующий список:
Имена: Время:
Alibek 347
Almaz 361
Nursultan 423
Madiyar 351
Madiyar2 383
Dauren 354
Dauren2 356
Batyr 350
Nailya 419
Dayana 451
Yersultan 349
Saltanat 424
Aizhan 439
Aizhan2 444
Arai 440
Dana 430
Итак, ваша задача - найти самого быстрого ученика и отобразить его / ее имя на консоли.
Следовательно, вы должны написать метод, который будет принимать некоторые входные данные (массив? Какого
типа?) и возвращает что-то (индекс?). Это похоже на пузырьковый вид? Есть ли какие-нибудь другие
способы ее решения? Кроме того, вы должны разобраться в них.
А затем вы должны попытаться найти второго самого быстрого ученика и так далее.
Следующая информация может быть полезной:
Как объявить массив для строк и целых чисел:
String[] names = {values goes here};
int[] times = {values goes here};
Некоторый псевдокод для алгоритма сортировки:
for (i между 0 и n-1) {
for (j между i+1 и n-1) {
if (time[i] > time[j]) {
switch time[i] and time[j]
switch names[i] and names[j]
}
}
}
Существуют разные способы решения этой задачи.
И в вашем методе вы должны получить массив и вернуть некоторое значение int.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2022, 08:29
Ответы с готовыми решениями:

Группа студентов Кембридж приняла участие в Российском марафоне. В результате организаторы предоставили им
На языке Джава. Выручите пожалуйста!!! Группа студентов Кембридж приняла участие в Российском марафоне. В результате организаторы...

пожалуйста выручите написать очень нужно завтра защита а я не могу понять! выручите кто может !
Получите целочисленную матрицу A размеров nxm, для которой aij=i+2j

1.1. Дан класс студентов (имя, группа, возраст, сколько лет). В main создать массив n студентов, ввести данные
Дан класс студентов (имя, группа, возраст, сколько лет). В main создать массив n студентов, ввести данные (имя, группа, возраст) и...


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

Или воспользуйтесь поиском по форуму:
7
20 / 13 / 9
Регистрация: 05.12.2014
Сообщений: 124
20.02.2022, 09:31
Я бы предложил вам поступить следующим образом:
1. Использовать два одномерных массива - string и инт. Где элементы одного индекса соответствуют имени и результату одного участника.
2. Отсортировать массивы по результатам участников
3. Доставать результаты по нужному индексу. Например, если отсортировать по возрастанию то лучший показатели будут у String names[0] и равны, соответственно, int results[0]
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,326
20.02.2022, 13:03
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
import java.util.*;
 
class Student implements Comparable <Student> {
    private String name;
    private int time;
 
    private void setName(String s) {
        name = s;
    }
 
    private void setTime(int n) {
        time = n;
    }
 
    public String getName() {
        return name;
    }
 
    public int getTime() {
        return time;
    }
 
    public Student(String s, int n) {
        setName(s);
        setTime(n);
    }
 
    public int compareTo(Student other) {
        return this.getTime() - other.getTime();
    }
}
 
class MyProg {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList <Student> school = new ArrayList<>();
 
        // получаем данные
        while (scan.hasNext()) {
            Student man = new Student(scan.next(), scan.nextInt());
            school.add(man);
        }
        scan.close();
 
        Collections.sort(school);       // сортируем
        Student first = school.get(0);  // получаем данные первого
        Student second = school.get(1); // получаем данные второго
 
        // выводим на экран
        System.out.printf("Первый ученик: %s\n", first.getName());
        System.out.printf("Второй ученик: %s\n", second.getName());
    }
}
1. Закидываем наши данные в текстовый файл, скажем, в data.txt
2. Собираем байткод: javac -encofing utf-8 SourceFile.java
3. Запускаем: java MyProg < data.txt
4. получаем:
Первый ученик: Alibek
Второй ученик: Yersultan

Все, что вам осталось сделать, так это изобразить подходящий способ получения данных (чтение консоли/файла). Успехов.

Добавлено через 2 минуты
P.S. если число студентов заранее известно, т.е. мы изначально знаем сколько данных студентов нам поступит, то быстрее будет через обычный массив.

Добавлено через 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.*;
 
class Student implements Comparable <Student> {
    private String name;
    private int time;
 
    private void setName(String s) {
        name = s;
    }
 
    private void setTime(int n) {
        time = n;
    }
 
    public String getName() {
        return name;
    }
 
    public int getTime() {
        return time;
    }
 
    public Student(String s, int n) {
        setName(s);
        setTime(n);
    }
 
    public int compareTo(Student other) {
        return this.getTime() - other.getTime();
    }
}
 
class MyProg {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
 
        // узнаем размер массива
        System.out.print("Число студентов: ");
        int n = scan.nextInt();
 
        if (n < 1)
            return;
        Student[] school = new Student[n];
 
        // получаем данные студентов
        for (int i = 0; i < n; i++)
            school[i] = new Student(scan.next(), scan.nextInt());
        scan.close();
 
        Arrays.sort(school);        // сортируем
        Student first = school[0];  // получаем данные первого
        Student second = school[1]; // получаем данные второго
 
        // выводим на экран
        System.out.printf("Первый ученик: %s\n", first.getName());
        System.out.printf("Второй ученик: %s\n", second.getName());
    }
}
Как не сложно заметить, класс студента не меняется вообще, меняется только контейнер.

Добавлено через 3 минуты
Хотя, по сути и контейнер не меняется, поскольку ArrayList - это обертка над массивом.

ну или идти по пути, предложенному вашим преподавателем:
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
import java.util.Scanner;
 
class MyProg {
    private static final int max_students = 100;    // максимальное число студентов
 
    public static void main (String[] args) {
        int[] n = new int[max_students];
        String[] s = new String[max_students];
 
        // получаем данные студентов
        int size;       // реальное число студентов
        Scanner scan = new Scanner(System.in);
        for (size = 0; scan.hasNext() && size < max_students; size++) {
            s[size] = scan.next();
            n[size] = scan.nextInt();
        }
        scan.close();
 
        // сортируем и определяем первые 2 места
        sort(s, n, size);
        String first = s[0];
        String second = s[1];
 
        // выводим на экран
        System.out.printf("Первый ученик: %s\n", first);
        System.out.printf("Второй ученик: %s\n", second);
    }
 
    private static int swap (int a, int b) {    // usage: a = swap(b, b = a);
        return a;
    }
 
    private static String swap (String a, String b) {
        return a;
    }
 
    private static void sort (String[] s, int n[], int size) {
        if (s.length < size || n.length < size)
            return;
        for (int i = size-1; i > 0; i--)
            for (int k = 0; k < i; k++)
                if (n[k] > n[k+1]) {
                    s[k] = swap(s[k+1], s[k+1] = s[k]);
                    n[k] = swap(n[k+1], n[k+1] = n[k]);
                }
    }
}
Хотя как по мне, у этого способа слишком много минусов, начиная от сомнительного расхода памяти и заканчивая посредственной скоростью сортировки.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.02.2022, 15:27
Лучший ответ Сообщение было отмечено Arsegg как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        String s = "Alibek 347\n" +
                "Almaz 361\n" +
                "Nursultan 423\n" +
                "Madiyar 351\n" +
                "Madiyar2 383\n" +
                "Dauren 354\n" +
                "Dauren2 356\n" +
                "Batyr 350\n" +
                "Nailya 419\n" +
                "Dayana 451\n" +
                "Yersultan 349\n" +
                "Saltanat 424\n" +
                "Aizhan 439\n" +
                "Aizhan2 444\n" +
                "Arai 440\n" +
                "Dana 430";
        System.out.println(Arrays.stream(s.split("\n"))
                .min(Comparator.comparingInt(x -> Integer.parseInt(x.split(" ")[1])))
                .get());
// Alibek 347
0
0 / 0 / 0
Регистрация: 26.01.2022
Сообщений: 94
21.02.2022, 06:27  [ТС]
Ухххх ты. Спасибо!!!
0
0 / 0 / 0
Регистрация: 26.01.2022
Сообщений: 94
21.02.2022, 16:04  [ТС]
Ваша задача - рассчитать заработную плату для сотрудников с учетом следующих
условий:
Сотрудникам платят почасово. Минимальная заработная плата равна 8,00
Еженедельно они работают до 40 часов. Если кто-то работает больше, он получает 1,5 х за каждый
час после стандартной рабочей нагрузки.
Но работать более 60 часов не разрешается.
Напишите небольшую программу (создайте класс Employee с необходимыми переменными экземпляра),
которая будет выполнять все вычисления с помощью метода.
Примите следующее в качестве входных данных:

Отработанные Часы С Базовой Оплатой Труда
Сотрудник 1 $7,50 35
Сотрудник 2 $8,20 47
Сотрудник 3 $10,00 73

Можешь помочь с этой задачей?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.02.2022, 16:12
Цитата Сообщение от Ramberdy Посмотреть сообщение
Можешь помочь с этой задачей?
начинай
0
21.02.2022, 16:48

Не по теме:

Папа у Васи силен в математике.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru