
Помогите пожалуйста сделать эти задания на Java: 1. Написать метод, в который передается не
пустой одномерный целочисленный массив, метод должен вернуть true, если в массиве есть место, в котором сумма левой и правой части массива равны. Примеры: checkBalance([1, 1, 1, || 2, 1]) → true, checkBalance ([2, 1, 1, 2, 1]) → false, checkBalance ([10, || 10]) → true, граница показана символами ||, эти символы в массив не входят; 2. Написать метод, которому на вход подается одномерный массив и число n (может быть положительным или отрицательным), при этом метод должен сместить все элементы массива на n позиций. Нельзя пользоваться вспомогательными массивами.

Ответы на вопрос

могу только первое
1)
/// Написать метод, в который передается не пустой одномерный целочисленный массив,
// метод должен вернуть true если в массиве есть место, в котором сумма левой и правой части
// массива равны. Примеры: checkBalance([1, 1, 1, || 2, 1]) → true, checkBalance ([2, 1, 1, 2, 1]) →
// false, checkBalance ([10, || 10]) → true, граница показана символами ||, эти символы в массив не
// входят.
public class Homework {
public static void main(String args[]) {
int[] mass = new int [6];
for (int i=0; i <6; i ++) {
if (i == 0) {
mass[0] = 1;
}
if (i == 1) {
mass[1] = 3;
}
if (i == 2) {
mass[2] = 2;
}
if (i == 3) {
mass[3] = 1;
}
if (i == 4)
{
mass[4] = 2;
}
if (i == 5) {
mass[5] = 4;
}
int p;
int q;
p = mass [0] + mass[1] + mass [2];
q = mass [3] + mass [4] + mass [5];
switch (p-q) {
case 0:
System.out.println("true");
break;
case 1:
System.out.println("false");
break;
case -1:
System.out.println("OMG - false");
break;
}
}
}
}



Конечно, я могу помочь вам с этими заданиями. Вот решения на Java:
- Метод для проверки баланса массива:
javapublic class ArrayBalance {
public static boolean checkBalance(int[] array) {
for (int i = 0; i < array.length; i++) {
int leftSum = 0;
int rightSum = 0;
// Вычисляем сумму элементов слева от текущей позиции
for (int j = 0; j < i; j++) {
leftSum += array[j];
}
// Вычисляем сумму элементов справа от текущей позиции
for (int j = i; j < array.length; j++) {
rightSum += array[j];
}
// Проверяем равенство сумм
if (leftSum == rightSum) {
return true;
}
}
return false;
}
public static void main(String[] args) {
int[] array1 = {1, 1, 1, 2, 1};
int[] array2 = {2, 1, 1, 2, 1};
int[] array3 = {10, 10};
System.out.println(checkBalance(array1)); // true
System.out.println(checkBalance(array2)); // false
System.out.println(checkBalance(array3)); // true
}
}
- Метод для смещения элементов массива:
javapublic class ArrayShift {
public static void shiftArray(int[] array, int n) {
int length = array.length;
n = n % length; // Обрабатываем случай, когда n больше длины массива
if (n < 0) {
n += length; // Преобразуем отрицательное смещение в положительное
}
int[] temp = new int[length];
for (int i = 0; i < length; i++) {
temp[i] = array[(i - n + length) % length];
}
System.arraycopy(temp, 0, array, 0, length);
}
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6};
int n = 2;
shiftArray(array, n);
for (int num : array) {
System.out.print(num + " ");
}
}
}
Оба примера демонстрируют решения ваших задач. Первый метод checkBalance
проверяет баланс массива, а второй метод shiftArray
смещает элементы массива на заданное количество позиций.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili