Re: функция которая вычисляет минимум из трёх чисел
Цитата:
|
Re: функция которая вычисляет минимум из трёх чисел
Цитата:
Простейший - использование условного оператора совместно с логическими. if (a < b && a < c) m = a; else if (b < a && b < c) m = b; else m = c;Updated. К слову, можно даже немного упростить. if (a < b && a < c) m = a; else if (b < c) m = b; else m = c;Если в первом if'e результат false, значит а - не минимальное, следовательно дальнейшее сравнение с ним не имеет смысла. |
Re: функция которая вычисляет минимум из трёх чисел
Цитата:
{ int m4=0; if (a<b) m4=a; else { m4=b; } if (m4>c) m4=c; if (m4>d) m4=d; return m4; } |
Re: функция которая вычисляет минимум из трёх чисел
public static int min(int a, int b, int c, int d) { if(a == b && a == c && a == d) return 0; int min = a < b ? a : b; min = min < c ? min : c; min = min < d ? min : d; return min; } |
Re: функция которая вычисляет минимум из трёх чисел
А не легче ли создать метод вычисления минимального и максимального числа в массиве?
можно обрабатывать сколько угодно чисел и всегда получим верный ответ. public class ZGMinMaxTest { public static void main(String[] args) { final int[] numbers = new int[] { 19, 52, 36, 74, 524, 16, 57, 238, 924 }; int minimal = Integer.MAX_VALUE; int maximal = Integer.MIN_VALUE; for(int number = 0; number < numbers.length; ++number) { int current = numbers[number]; if(current < minimal) minimal = current; else if(current > maximal) maximal = current; } System.out.println("Minimal is -> " + minimal); System.out.println("Maximal is -> " + maximal); } } Result: Minimal is -> 16 Maximal is -> 924или используйте класс математики public class ZGMathTest { public static void main(String[] args) { final int[] numbers = new int[] { 19, 52, 36, 74, 524, 16, 57, 238, 924 }; int minimal = Integer.MAX_VALUE; int maximal = Integer.MIN_VALUE; for(int number = 0; number < numbers.length; ++number) { int current = numbers[number]; minimal = Math.min(minimal, current); maximal = Math.max(maximal, current); } System.out.println("Minimal is -> " + minimal); System.out.println("Maximal is -> " + maximal); } } Result: Minimal is -> 16 Maximal is -> 924 |
Re: функция которая вычисляет минимум из трёх чисел
А нахрена цикл? Загружаем все числа в список и вычисляем с помощью встроенной команды, ну на шарпе это точно можно сделать, на яве скорее всего тоже.
|
Re: функция которая вычисляет минимум из трёх чисел
Цитата:
import java.util.ArrayList; import java.util.List; public class ZGCollectionMathTest { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(45); numbers.add(312); numbers.add(4); numbers.add(456); numbers.add(987); numbers.add(24); int minimal = Integer.MAX_VALUE; int maximal = Integer.MIN_VALUE; for(int number : numbers) { minimal = Math.min(minimal, number); maximal = Math.max(maximal, number); } System.out.println("Minimal is -> " + minimal); System.out.println("Maximal is -> " + maximal); } } Result: Minimal is -> 4 Maximal is -> 987или отсортировать коллекцию компаратором и получить минимальный и максимальный параметр import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ZGCollectionComparatorTest { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(45); numbers.add(312); numbers.add(4); numbers.add(456); numbers.add(987); numbers.add(24); Integer[] sorted = numbers.toArray(new Integer[numbers.size()]);; Arrays.sort(sorted, new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2) { return (int) (o2 - o1); } }); System.out.println("Minimal is -> " + sorted[sorted.length - 1]); System.out.println("Maximal is -> " + sorted[0]); } } Result: Minimal is -> 4 Maximal is -> 987Использовать можно как угодно :student: |
Re: функция которая вычисляет минимум из трёх чисел
Цитата:
|
Re: функция которая вычисляет минимум из трёх чисел
Цитата:
не успел отредактить upd: или отсортировать коллекцию компаратором и получить минимальный и максимальный параметр import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ZGCollectionComparatorTest { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(45); numbers.add(312); numbers.add(4); numbers.add(456); numbers.add(987); numbers.add(24); Integer[] sorted = numbers.toArray(new Integer[numbers.size()]);; Arrays.sort(sorted, new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2) { return (int) (o2 - o1); } }); System.out.println("Minimal is -> " + sorted[sorted.length - 1]); System.out.println("Maximal is -> " + sorted[0]); } } Result: Minimal is -> 4 Maximal is -> 987 |
Re: функция которая вычисляет минимум из трёх чисел
va_list inside
Код:
public int max(int...n) { |
Текущее время: 09:10. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot