
Сортировка. Метод выбора. Напишите программу, которая сортирует массив и находит количество
различных чисел в нем. Пример: Массив: 5 3 4 2 1 6 3 2 4 После сортировки: 1 2 2 3 3 4 4 5 6 Различных чисел: 6 Срочно нужно .Помогите пожалуйста ,люди ,добрые

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

var c, min, imin: integer;
c := 0;
var ar := readarrinteger('Массив:',readinteger());
for var i := 1 to ar.Length do
begin
min := ar[c];
imin := c;
for var j := c to ar.Length - 1 do
begin
if(ar[j] < min) then
begin
min := ar[j];
imin := j;
end;
end;
swap(ar[c], ar[imin]);
c := c + 1;
end;
write('После сортировки: ');
ar.Println;
write('Различных чисел: ',ar.Distinct.Count);
end.



Сортировка методом выбора и подсчет количества различных чисел в массиве
Для решения данной задачи, мы можем использовать метод сортировки выбором. Этот метод заключается в том, чтобы на каждом шаге выбирать наименьший элемент из оставшейся части массива и помещать его в начало отсортированной части. Затем мы можем пройти по отсортированному массиву и подсчитать количество различных чисел.
Вот пример программы на JavaScript, которая реализует этот алгоритм:
```javascript function selectionSort(arr) { for (let i = 0; i < arr.length - 1; i++) { let minIndex = i; for (let j = i + 1; j < arr.length; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } if (minIndex !== i) { [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; } } }
function countDistinctNumbers(arr) { selectionSort(arr); let count = 1; for (let i = 1; i < arr.length; i++) { if (arr[i] !== arr[i - 1]) { count++; } } return count; }
const array = [5, 3, 4, 2, 1, 6, 3, 2, 4]; selectionSort(array); const distinctCount = countDistinctNumbers(array);
console.log("Массив после сортировки:", array); console.log("Количество различных чисел:", distinctCount); ```
После выполнения программы, вы получите следующий результат:
``` Массив после сортировки: [1, 2, 2, 3, 3, 4, 4, 5, 6] Количество различных чисел: 6 ```
Таким образом, в отсортированном массиве содержится 6 различных чисел.
Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.


Топ вопросов за вчера в категории Информатика







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