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

Заменить элемент массива на сумму его соседей, если элемент массива четный и номер его лежит в промежутке от a до b

23.10.2019, 19:36. Показов 6988. Ответов 13

Студворк — интернет-сервис помощи студентам
Случайным образом генерируется массив чисел. Пользователь вводит числа a и b. Заменить элемент массива на
сумму его соседей
, если элемент массива четный и номер его лежит в промежутке от a до b.

Добавлено через 1 час 22 минуты
Пока ждал ответа с форума, сам решил))

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
package mas2;
    import java.util.*; //подключаем весь пакет java.util
public class mas2 {
    public static void main(String[] args) {
        int a,b, mas[];   // объявляем переменные
        int n =6;         // здесь мы задаем размерность массива
        mas = new int[n]; // создаем массив
          Random random = new Random(); // создаем генератор чисел
          for (int i=0;i<mas. length; i++){ // цикл 
               mas[ i]=random. nextInt(15); //генерируем очередное случ. число из нужного нам
                                           //диапазона (от 0 до 15)
               System. out.print("  "+mas[i]+"  "); //вывод нашего изначального массива
               
               }
          Scanner in = new Scanner(System. in); // создаем объект in класса Scanner, 
                                                //в конструкторе указываем поток ввода System.in 
                                                //означающий, что ввод будет с клавиатуры
          System. out.println("a: "); //вывод
          a = in.nextInt(); //ввод, значение присваивается переменной a
          System. out.println("b: ");
          b = in.nextInt(); //ввод, значение присваивается переменной b
                   for (int i=0;i<mas. length; i++){              //вызываем цикл
                       if(mas[i]%2==0 && a<mas[i] && mas[i]<b){   //ставим наше условие: элемент четный и в промежутке от a до b
                       mas[i]=mas[i-1]+mas[i+1];                 // действие условия
                       }
               System. out.print("  "+mas[i]+"  ");        //вывод массива
                   }
    }
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2019, 19:36
Ответы с готовыми решениями:

Заменить каждый элемент массива на среднее арифметическое его и его соседей слева и справа
Помогите пожалуйста. Нужно Объявить массив целых чисел и заполнить его случайными значениями. Размерность масссива: 100 Диапазон...

Заменить каждый элемент массива на среднее арифметическое его и его соседей слева и справа
При решении использовать масив в файле)

Если элемент массива четный, то его нужно возвести в квадрат
Дана последовательность n - натурольных чисел. Если элемент массива четный, то его нужно возвести в квадрат. Если нечетный то в куб....

13
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
23.10.2019, 19:53
Цитата Сообщение от Caelo Посмотреть сообщение
сам решил))
Молодец!
Только неправильно

Добавлено через 2 минуты
Подсказка - ошибок две
0
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 6
23.10.2019, 22:25  [ТС]
iSmokeJC, я знаю про ошибку с первыми и последними элементами) а какая вторая?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
23.10.2019, 22:37
Caelo, внимательно прочти условие, особенно слова, которые выделены.
0
1 / 1 / 0
Регистрация: 31.01.2018
Сообщений: 24
03.02.2020, 15:43
можешь скинуть без ошибки . плиз
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.02.2020, 19:43
Viaedns, дабу
Java
1
2
3
4
5
for (int i=a; i<=b; i++){              //вызываем цикл
      if(mas[i]%2==0){   //ставим наше условие: элемент четный
          mas[i]=mas[i-1]+mas[i+1];                 // действие условия
      }      
}
Viaedns, домашнее задание - предусмотреть что делать при а==0, или b >= длины массива
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
05.02.2020, 15:04
iSmokeJC, if(mas[i]%2==0) или if(i%2==0) ?

Цитата Сообщение от Caelo Посмотреть сообщение
если элемент массива четный
"Элемент" это ж не содержимое. Или я чёт напутал?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.02.2020, 15:13
Kukstyler, ну так в условии указан и элемент и номер. Если б только индекс, тогда и условие не нужно - приращение в цикле по 2 и все...
Имхо
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
05.02.2020, 15:23
iSmokeJC, тогда получается фигня какая-то. Если 2 или более элементов подряд содержат чётные значения, на выходе будет ничего не понятно (надо будет всё пересчитывать).
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.02.2020, 15:28
Kukstyler, и так до бесконечности... бугаг


Добавлено через 2 минуты
С другой стороны - ну и что, что подряд четные идут?
1
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
05.02.2020, 15:35
Условие сформулировано несколько неоднозначно. Пусть есть массив:
{1, 1, 2, 6, 1}
a = 2
b = 3
каким должен получиться результирующий массив,
{1, 1, 7, 3, 1}
или
{1, 1, 7, 8, 1}
??
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.02.2020, 15:40
Sindbad_M, это уже вопрос к тс'у.
0
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
05.02.2020, 15:43
Цитата Сообщение от iSmokeJC Посмотреть сообщение
это уже вопрос к тс'у.
не совсем. Из условия более разумным кажется менять шестерку на тройку (сумму соседний элементов). А все предложенные выше варианты меняют на восьмерку.
Главная ошибка - пытаться вносить изменения в исходный массив.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
05.02.2020, 15:52
Цитата Сообщение от iSmokeJC Посмотреть сообщение
ну и что, что подряд четные идут?
Если несколько чётных подряд, предыдущий чётный уже содержит значения своих соседей. Получается следующий получит значение не изначального элемента, а уже сплюсованого с соседями и т.д.
То есть для проверки, на выходе, сразу и не понять, правильно всё или нет. Надо пересчитывать.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Arrays;
 
public class Start {
    public static void main(final String[] args) {
        int[] array = {1, 2, 2, 2, 3};
 
        System.out.println(Arrays.toString(array));
 
        for (int i = 1; i < (array.length - 1); i++) {
            if ((array[i] % 2) == 0) {
                System.out.print(i + " - Before: " + array[i]);
                array[i] = array[i - 1] + array[i + 1];
                System.out.println(" After: " + array[i]);
            }
        }
 
        System.out.println(Arrays.toString(array));
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2020, 15:52
Помогаю со студенческими работами здесь

Заменить каждый элемент массива на среднее арифметическое элемента и его соседей
Дан массив размера N. Заменить каждый элемент массива на среднее арифметическое этого элемента и его соседей.

Заменить каждый элемент массива на среднее арифметическое элемента и его соседей
Здравствуйте. Помогите пожалуйста решить задачи какие сможете, завтра зачёт, а я никак не могу с массивами разобраться! Заранее спасибо!!! ...

Массив: Найти минимальный элемент массива и его номер, заменить его произведением элементов, стоящих перед ним.
Массив Х вводят с клавиатуры. Найти минимальный элемент массива X и его номер. Заменить его произведением элементов, стоящих в массиве...

Заменить каждый элемент массива на среднее арифметическое самого элемента и его соседей
помогите решить пожалуйста: В заданном одномерном массиве размером N заменить каждый элемент на среднее арифметическое самого элемента и...

Каждый отрицательный элемент массива заменить полусуммой его соседей справа и слева
Пусть дан массив из n элементов.Каждый отрицательный элемент замените полусуммой тех двух элементов, которые стоят с ним справа и слева.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru