Супер клас, який створює і ініціалізує масив з n цілих чисел. В задачах наслідування може ідти від нього.
2. Дан масив. Замінити всі числа, менші останнього елемента масиву, на перший елемент.
3. Поміняти місцями найбільший та найменший елементи масиву.
4. Знайти найбільший парний елемент масиву і поміняти його місцями з найменшим непарних елементом. Якщо одного з таких елементів немає, то всім елементам масиву присвоїти нуль.
5. Замінити кожен елемент масиву з парним номером на сусідній зліва елемент.
6. Видалити в масиві перший і останній елементи.
7. Видалити в масиві все числа, які повторюються більше двох разів.
8. Знайти в масиві всі серії однакових елементів, які йдуть підряд, і видалити з них всі елементи крім одного.
9. Видалити в масиві всі максимальні елементи.
10. Переставити елементи масиву в зворотньому порядку.
11. Дан масив a з n елементів. Сформувати новий масив b такого ж розміру так, що елемент bk дорівнював сумі елементів перших елементів массіва a до номера k включно.
12. В даному масиві знайти всі нульові елементи і замінити їх разом з сусідніми елементами на 3.
Відповідь:
import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class Mas { int[] a; Random random = new Random(); Scanner sc = new Scanner(System.in); //Ініціалізує масив з n елементів числами з проміжку [-n; n] public Mas() { System.out.print("Скільки елементів в масиві? ->"); a = new int[sc.nextInt()]; for (int i = 0; i < a.length; i++) { a[i] = random.nextInt(2 * a.length + 1) - a.length; } System.out.println(Arrays.toString(a)); } //Ініціалізує масив з n елементів числами з проміжку [0; n] public Mas(int n) { System.out.print("Скільки елементів в масиві? ->"); a = new int[sc.nextInt()]; for (int i = 0; i < a.length; i++) { a[i] = random.nextInt(n + 1); } System.out.println(Arrays.toString(a)); } }
Супер клас, який створює і ініціалізує динамічний масив з n цілих чисел. В задачах наслідування може ідти від нього.
1. У масиві замінити всі числа, великі даного числа, на середнє арифметичне всіх чисел масиву.
Відповідь:
import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class DinMas { ArrayList a; Random random = new Random(); Scanner sc = new Scanner(System.in); public DinMas() { System.out.print("Скільки елементів в масиві? ->"); int size = sc.nextInt(); a = new ArrayList(); for (int i = 0; i < size; i++) { a.add(i, random.nextInt(2 * size + 1) - size); } } public void test() { if (a.size() == 1) { System.out.println("Тільки один елемент"); System.exit(0); } } }
Відповідь:
import java.util.Arrays; public class TMasCh1 extends Mas { public static void main(String[] args) { TMasCh1 tm = new TMasCh1(); tm.change(); } public void change() { System.out.print("Яке число бажаєте замінити? ->"); int x = sc.nextInt(); int count = 0; int sum = 0; for (int i = 0; i < a.length; i++) { sum += a[i]; } sum /= a.length; for (int i = 0; i < a.length; i++) { if (a[i] == x) { a[i] = sum; count++; } } System.out.println(Arrays.toString(a)); System.out.println("Було виконано " + count + " замін(и)"); } }
Відповідь:
import java.util.Arrays; public class TMasCh2 extends Mas { public static void main(String[] args) { TMasCh2 tm = new TMasCh2(); tm.change(); } void change() { int count = 0; int x = a[0]; for (int i = 1; i < a.length - 1; i++) { if (a[i] < a[a.length - 1]) { a[i] = x; count++; } } System.out.println(Arrays.toString(a)); System.out.println("Було виконано " + count + " замін"); } }
Відповідь:
import java.util.Arrays; public class TMasCh3 extends Mas { public static void main(String[] args) { TMasCh3 tm = new TMasCh3(); tm.change(); } void change() { int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; int tempI = 0; int tempJ = 0; int temp; for (int i = 0; i < a.length; i++) { if (a[i] > max) { max = a[i]; tempI = i; } if (a[i] < min) { min = a[i]; tempJ = i; } } temp = a[tempI]; a[tempI] = a[tempJ]; a[tempJ] = temp; System.out.println(Arrays.toString(a)); } }
Відповідь:
import java.util.Arrays; public class TMasCh4 extends Mas { public static void main(String[] args) { TMasCh4 tm = new TMasCh4(); tm.change(); } void change() { int maxParid = Integer.MIN_VALUE; int minUnparid = Integer.MAX_VALUE; int tempI = 0; int tempJ = 0; for (int i = 0; i < a.length; i++) { if (a[i] % 2 == 0 && a[i] > maxParid) { maxParid = a[i]; tempI = i; } if ((a[i] % 2 == -1 || a[i] % 2 == 1) && a[i] < minUnparid) { minUnparid = a[i]; tempJ = i; } } if (maxParid == Integer.MIN_VALUE || minUnparid == Integer.MAX_VALUE) { Arrays.fill(a, 0); } else { int temp = a[tempI]; a[tempI] = a[tempJ]; a[tempJ] = temp; } System.out.println(Arrays.toString(a)); } }
Відповідь:
import java.util.Arrays; public class TMasCh5 extends Mas { public static void main(String[] args) { TMasCh5 tm = new TMasCh5(); tm.change(); } void change() { if (a.length != 1) { for (int i = 0; i < a.length - 1; i += 2) { a[i + 1] = a[i]; } } System.out.println(Arrays.toString(a)); } }
Відповідь:
public class TMasCh6 extends DinMas{ public static void main(String[] args) { DinMas tm =new TMasCh6(); System.out.println(tm.a.toString()); tm.a.remove(0); tm.a.remove(tm.a.size()-1); System.out.println(tm.a.toString()); } }
Відповідь:
package TaskMasCh; import java.util.ArrayList; public class TMasCh7 extends DinMas { public static void main(String[] args) { TMasCh7 tm = new TMasCh7(); System.out.println(tm.a.toString()); tm.test(); tm.change(); } void change() { ArrayList flags = new ArrayList(); int count; for (int i = 0; i < a.size() - 1; i++) { count = 0; for (int j = i+1; j < a.size(); j++) { if (a.get(i) == a.get(j)) { count++; if (count >= 3) { flags.add(a.get(i)); break; } } } } System.out.println(flags.toString()); a.removeAll(flags); System.out.println(a.toString()); } }
Відповідь:
public class TMasCh8 extends DinMas { public static void main(String[] args) { TMasCh8 tm = new TMasCh8(); System.out.println(tm.a.toString()); tm.test(); tm.change(); } void change() { for (int i = 0; i < a.size() - 1; i++) { if (a.get(i) == a.get(i + 1)) { a.remove(i + 1); i--; } } System.out.println(a.toString()); } }
Відповідь:
import java.util.ArrayList; public class TMasCh9 extends DinMas { public static void main(String[] args) { TMasCh9 tm = new TMasCh9(); System.out.println(tm.a.toString()); tm.change(); } void change() { ArrayList temp = new ArrayList(); temp.add(0); int max = Integer.MIN_VALUE; for (int i = 0; i < a.size(); i++) { if ((int) a.get(i) > max) { temp.set(0, a.get(i)); max = (int) temp.get(0); } } a.removeAll(temp); System.out.println("Максимальний елемент " + temp.toString()); System.out.println(a.toString()); } }
Відповідь:
import java.util.Arrays; public class TMasCh10 extends Mas{ public static void main(String[] args) { TMasCh10 tm=new TMasCh10(); int[] temp=new int [tm.a.length]; for (int i = 0; i
Відповідь:
import java.util.Arrays; public class TMasCh11 extends Mas { public static void main(String[] args) { TMasCh11 tm = new TMasCh11(); int[] tmNew =new int[tm.a.length]; int sum=0; for (int i = 0; i < tmNew.length; i++) { sum+=tm.a[i]; tmNew[i]=sum; } System.out.println(Arrays.toString(tmNew)); } }
Відповідь:
import java.util.Arrays; public class TChMas12 extends Mas { public TChMas12(int i) { super(i); } public static void main(String[] args) { TChMas12 tm = new TChMas12(10); int[] temp = Arrays.copyOf(tm.a, tm.a.length); for (int i = 1; i < temp.length - 1; i++) { if (temp[i] == 0) { tm.a[i - 1] = tm.a[i] = tm.a[i + 1] = 3; } } if (temp.length == 1 && temp[0] == 0) { tm.a[0] = 3; } else if (temp.length == 2 && (temp[0] == 0 || temp[1] == 0)) { tm.a[0] = tm.a[1] = 3; } else if (temp[0] == 0) { tm.a[0] = tm.a[1] = 3; if (temp[temp.length - 1] == 0) { tm.a[tm.a.length - 1] = tm.a[tm.a.length - 2] = 3; } } else if (temp[temp.length - 1] == 0) { tm.a[tm.a.length - 1] = tm.a[tm.a.length - 2] = 3; } System.out.println(Arrays.toString(tm.a)); } }
Відповідь:
import java.util.ArrayList; import static java.lang.Math.abs; public class TMasCh13 extends Mas { public static void main(String[] args) { TMasCh13 tm = new TMasCh13(); System.out.print("Який граничний елемент? ->"); int number = tm.sc.nextInt(); tm.sorted(number); } private void sorted(int number) { ArrayList minNumb = new ArrayList(); ArrayList maxNumb = new ArrayList(); for (int t : a ) { if (abs(t) < number) { minNumb.add(t); } else { maxNumb.add(t); } } minNumb.addAll(maxNumb); System.out.println(minNumb.toString()); } }
Відповідь:
import java.util.ArrayList; public class TMasCh14 { public static void main(String[] args) { DinMas dm1 = new DinMas(); DinMas dm2 = new DinMas(); System.out.println(dm1.a.toString()); System.out.println(dm2.a.toString()); ArrayList result = presentInTwo(dm1, dm2); System.out.println(result.toString()); } private static ArrayList presentInTwo(DinMas dm1, DinMas dm2) { ArrayList temp = new ArrayList(); for (int i = 0; i < dm1.a.size(); i++) { for (int j = 0; j < dm2.a.size(); j++) { if (dm1.a.get(i) == dm2.a.get(j)) { temp.add(dm1.a.get(i)); dm2.a.remove(j); break; } } } return temp; } }
Відповідь:
import java.util.ArrayList; public class TMasCh15 { public static void main(String[] args) { DinMas dm1 = new DinMas(); DinMas dm2 = new DinMas(); System.out.println(dm1.a.toString()); System.out.println(dm2.a.toString()); ArrayList result = presentInOne(dm1, dm2); System.out.println(result.toString()); } private static ArrayList presentInOne(DinMas dm1, DinMas dm2) { ArrayList temp = new ArrayList(); boolean flag; for (int i = 0; i < dm1.a.size(); i++) { flag = false; for (int j = 0; j < dm2.a.size(); j++) { if (dm1.a.get(i) == dm2.a.get(j)) { flag = true; } } if (!flag) { temp.add(dm1.a.get(i)); } } for (int i = 0; i < dm2.a.size(); i++) { flag = false; for (int j = 0; j < dm1.a.size(); j++) { if (dm2.a.get(i) == dm1.a.get(j)) { flag = true; } } if (!flag) { temp.add(dm2.a.get(i)); } } return temp; } }
Відповідь:
import java.util.ArrayList; public class TMasCh16 { public static void main(String[] args) { DinMas dm = new DinMas(); System.out.println(dm.a.toString()); System.out.print("k->"); int k = dm.sc.nextInt(); shiftK(dm, k); } // шукаємо номери мінімального та максимального елементів // виконуємо перевірку їх розташування та виконуюмо // відповідний зсув private static void shiftK(DinMas dm, int k) { int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; int numberMin = 0; int numberMax = dm.a.size(); for (int i = 0; i < dm.a.size(); i++) { if ((int) dm.a.get(i) > max) { max = (int) dm.a.get(i); numberMax = i; } if ((int) dm.a.get(i) < min) { min = (int) dm.a.get(i); numberMin = i; } } if (numberMax > numberMin) { shift(dm, k); } else { shift(dm, dm.a.size() - k); } System.out.println(dm.a.toString()); } // метод для зсуву елементів private static void shift(DinMas dm, int k) { int size = dm.a.size(); ArrayList temp = (ArrayList) dm.a.clone(); for (int i = 0; i < dm.a.size(); i++) { temp.set((i + k) % dm.a.size(), dm.a.get(i)); } dm.a = temp; } }
Відповідь:
import java.util.ArrayList; import java.util.Arrays; import java.util.Random; public class TMasCh18 { public static void main(String[] args) { int[] massiv = new int[10]; ArrayList positivElement = new ArrayList(); ArrayList negativElement = new ArrayList(); initMassiv(massiv); System.out.println(Arrays.toString(massiv)); initPosNeg(massiv, positivElement, negativElement); changeMassiv(massiv, positivElement, negativElement); System.out.println(Arrays.toString(massiv)); } private static void changeMassiv(int[] massiv, ArrayList positivElement, ArrayList negativElement) { for (int i = 0; i < massiv.length; i++) { if (massiv[i] > 0) { massiv[i] = (int) negativElement.get(0); negativElement.remove(0); } else { massiv[i] = (int) positivElement.get(0); positivElement.remove(0); } } } private static void initPosNeg(int[] masiv, ArrayList positivElement, ArrayList negativElement) { for (int i = 0; i < masiv.length; i++) { if (masiv[i] > 0) { positivElement.add(masiv[i]); } else { negativElement.add(masiv[i]); } } } private static void initMassiv(int[] massiv) { Random random = new Random(); for (int i = 0; i < massiv.length; i++) { massiv[i] = random.nextInt(100) + 1; } int index; for (int i = 0; i < massiv.length / 2; i++) { do { index = random.nextInt(massiv.length); } while (massiv[index] < 0); massiv[index] *= -1; } } }
Відповідь:
import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class TMasCh18 { public static void main(String[] args) { ArrayListmassiv = new ArrayList (); initMas(massiv); System.out.println(massiv.toString()); delPolindroms(massiv); System.out.println(massiv.toString()); } private static void delPolindroms(ArrayList massiv) { for (int i = 0; i < massiv.size(); i++) { if (isPolindrom(massiv.get(i))) { massiv.remove(i); i--; } } } private static boolean isPolindrom(Integer temp) { char[] numbers = temp.toString().toCharArray(); for (int i = 0; i < numbers.length / 2; i++) { if (numbers[i] != numbers[numbers.length - i - 1]) { return false; } } return true; } private static void initMas(ArrayList massiv) { System.out.print("Розмір масиву ->"); Random random = new Random(); int size = new Scanner(System.in).nextInt(); for (int i = 0; i < size; i++) { massiv.add(random.nextInt(100)); } } }
Відповідь:
import java.util.ArrayList; import java.util.Arrays; import java.util.Random; public class TMasch19 { public static void main(String[] args) { int[] t = new int[10]; int[] p = new int[10]; initMas(t); initMas(p); System.out.println("1 масив " + Arrays.toString(t)); System.out.println("2 масив " + Arrays.toString(p)); ArrayListmas1 = new ArrayList (); initArLi1(mas1, t); find(mas1, p); } private static void find(ArrayList mas2, int[] p) { int count=0; Integer[] temp = mas2.toArray(new Integer[mas2.size()]); System.out.println(Arrays.toString(temp)); Arrays.sort(temp); ArrayList t = new ArrayList (); for (int i = 0; i < p.length - 2; i++) { for (int j = i + 1; j < p.length - 1; j++) { for (int k = j + 1; k < p.length; k++) { if (Arrays.binarySearch(temp, p[i] + p[j] + p[k]) >= 0) { System.out.println("Такі елементи присутні. Шукана сума " + (p[i] + p[j] + p[k])); System.out.printf("Координати (%d, %d, %d)\n", i + 1, j + 1, k + 1); // count++; System.exit(0); } } } } System.out.println(count); // System.out.println("Такі елементи відсутні"); } private static void initArLi1(ArrayList mas1, int[] t) { for (int i = 0; i < t.length - 1; i++) { for (int j = i + 1; j < t.length; j++) { mas1.add(t[i] + t[j]); } } } private static void initMas(int[] t) { Random random = new Random(); for (int i = 0; i < t.length; i++) { t[i] = random.nextInt(100); } } }
Комментариев нет:
Отправить комментарий