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

Одномерный массив

07.01.2023, 16:17. Показов 436. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним отрица-тельными элементами.


Помогите с ошибками

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package Laba2_1;
 
 
public class Laba2_1 {
 
  public static void main(String[] args)
    {
    int i, n   = 0, nno = 0 ,npo = 0 ;
    
        boolean flag = false;
    double sum = 0;
    System.out.print("Введите количество элементов массива: ");
    scanf_s("%i", n);
    double[] a = new double[n];
 
 
    //Ввод массива
    for (i = 0; i < n; i++)
    {
    System.out.printf("Введите %i элемент массива: ", i + 1);
    scanf_s("%if", (int) a [i]);
    }
    //Вывод массива
    System.out.print("\nВаш массив: ");
    for (i = 0; i < n; i++)
    {
    System.out.printf("%lg ", a [i]);
    }
    //Нахождение суммы нечетных элементов
    for (i = 0; i < n; i++)
    {
    if (i % 2 == 0)
    {
    sum += a[i];
    }
    if (a[i] < 0)
    {
    if (flag == false)
    {
    nno = i;
    flag = true;
    }
    else
    {
        npo = i;
    }
    }
    }
    System.out.printf("\n Сумма элементов массива с нечётными номерами: %lg\n", sum);
 
    //Сумма элементов массива, расположенных между первым и последним отрицательными элементами
 
    if (flag == false)
    {
        System.out.print("Нет отрицательных элементов\n");
    }
    else
    {
    if (flag && npo == 0)
    {
        System.out.print("Один отрицательный элемент \n");
    }
    else
    {
    if (nno + 1 == npo)
    {
        System.out.print("Отрицательные числа стоят рядом\n");
    }
    else
    {
    sum = 0;
    for (i = nno + 1; i < npo; i++)
    {
    sum += a[i];
    }
    System.out.printf("Сумму элементов массива, расположенных между первым и последним отрицательными элементами = %lg\n", sum);
    }
    }
    }
    system("pause");
    }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2023, 16:17
Ответы с готовыми решениями:

Создать одномерный массив А из 20 целых чисел. Создать одномерный массив Б, состоящий только из двухзначных чисел массив
Создать одномерный массив А из 20 целых чисел. Создать одномерный массив Б, состоящий только из двухзначных чисел массива А. Отсортировать...

Массив: Сформировать одномерный массив, состоящий из элементов, лежащих в интервале [1,20]
Дана целочисленная прямоугольная матрица размера М на N. Сформировать одномерный массив, состоящий из элементов, лежащих в интервале Найти...

Дано два одномерный массив который по двум минимальным числам надо вывести на созданный третий массив
Дано два одномерный массив который по двум минимальным числам надо вывести на созданный третий массив.JAVA Как сделать ?Срочно ПОМОГИТЕ!!!

3
8 / 17 / 9
Регистрация: 18.04.2019
Сообщений: 125
07.01.2023, 19:20
Лучший ответ Сообщение было отмечено Vittorina как решение

Решение

Vittorina, Написал код(ниже):
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
public class MyClass {
    private static int[] array = { 5, 4, -3, 7, 6, -4, 4, 2 };
    
    public static void main(String args[]) {
        System.out.println("Результат задания 1: " + getSumOfOddItems(array));
        System.out.println("Результат задания 2: " + getSumOfElementsByIndexes(array));
    }
    
    // сумма элементов массива с нечетными номерами
    private static int getSumOfOddItems(int[] arr) {
        int result = 0;
        for(int i = 0; i < arr.length; i++) {
            if(i % 2 != 0) {
                result += arr[i];
            }
        }
        
        return result;
    }
    
    // сумма элементов массива, расположенных между первым и последним отрица-тельными элементами
    // Получаем индексы крайних отрицательных элементов
    private static int[] getExtremeNegativeElements(int[] arr) {
        int firstNegativeNumberIndex = 0, lastNegativeNumberIndex = 0;
        
        for(int i = 1; i < arr.length - 1; i++) {
            if(arr[i] < 0 && arr[i - 1] > 0 && firstNegativeNumberIndex == 0) {
                firstNegativeNumberIndex = i;
            }
            
            if(arr[i] < 0 && arr[i + 1] > 0 && firstNegativeNumberIndex != i && lastNegativeNumberIndex == 0) {
                lastNegativeNumberIndex = i;
            }
        }
        
        int[] result = { firstNegativeNumberIndex, lastNegativeNumberIndex };
        return result;
    }
    
    // Находим сумму элементов по индексу(крайних отрицательных элементов)
    private static int getSumOfElementsByIndexes(int[] inputArray) {
        int[] arrayOfIndexes = getExtremeNegativeElements(inputArray);
        int sumOfElements = 0;
        
        for(int i = arrayOfIndexes[0] + 1; i < arrayOfIndexes[1]; i++) {
            sumOfElements += inputArray[i];
        }
        
        return sumOfElements;
    }
}
P.S. В начале руками создаю массив. Вам следует переделать под ваши требования (ввод через консоль).

Добавлено через 12 минут
P.S.S. Заметил, что, если отрицательные первый и/или последний элементы, то программа работает некорректно. Немного переделал функцию getExtremeNegativeElements:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    private static int[] getExtremeNegativeElements(int[] arr) {
        int firstNegativeNumberIndex = -1, lastNegativeNumberIndex = -1;
        
        for(int i = 1; i < arr.length - 1; i++) {
            if(arr[0] < 0) {
                firstNegativeNumberIndex = 0;
            } else if(arr[i] < 0 && arr[i - 1] > 0 && firstNegativeNumberIndex == -1) {
                firstNegativeNumberIndex = i;
            }
            
            if(arr[arr.length - 1] < 0) {
                lastNegativeNumberIndex = arr.length - 1;
            } else if(arr[i] < 0 && arr[i + 1] > 0 && firstNegativeNumberIndex != i && lastNegativeNumberIndex == -1) {
                lastNegativeNumberIndex = i;
            }
        }
        
        int[] result = { firstNegativeNumberIndex, lastNegativeNumberIndex };
        return result;
    }
1
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
07.01.2023, 20:14
Java
1
2
3
4
// Суммирование нечетных чисел
for(int i = 1; i < arr.length; i += 1) {
    result += arr[i];
}
Добавлено через 1 минуту
Java
1
2
3
4
// Суммирование нечетных чисел
for(int i = 1; i < arr.length; i += 2) {    // +2
 result += arr[i];
}[/quote]
0
1 / 1 / 0
Регистрация: 21.11.2021
Сообщений: 32
07.01.2023, 23:37  [ТС]
Proger_xacker, Огромное Вам спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2023, 23:37
Помогаю со студенческими работами здесь

Дан одномерный массив А, из него нам необходимо отобрать положительные нечетные элементы и записать их в новый массив
Привет, помогите с кодом следующего задания: Дан одномерный массив А, из него нам необходимо отобрать положительные нечетные элементы и...

Одномерный массив
Как удалить элементы одномерного массива, которые равны первому элементу. У меня получилось удалить только сам первый элемент

Одномерный массив
Вводится массив целых чисел. Найти наиболее длинную подпоследовательность подряд идущих элементов, которые монотонно возрастают...

Одномерный массив
реализовать функцию, которая для переданного массива целых чисел найдет максимальную длину подпоследовательности подряд идущих элементов,...

Сгенерировать одномерный массив
Составьте программу, генерирующую одномерный массив, каждый элемент которого равен минимальному элементу в соответствующем столбце...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
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. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru