Вопрос задан 24.09.2018 в 07:10. Предмет Информатика. Спрашивает Чепурко Инна.

Сортировка. Метод выбора. Напишите программу, которая сортирует массив и находит количество

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Егунько Вадим.
Begin
  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.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Сортировка методом выбора и подсчет количества различных чисел в массиве

Для решения данной задачи, мы можем использовать метод сортировки выбором. Этот метод заключается в том, чтобы на каждом шаге выбирать наименьший элемент из оставшейся части массива и помещать его в начало отсортированной части. Затем мы можем пройти по отсортированному массиву и подсчитать количество различных чисел.

Вот пример программы на 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 различных чисел.

Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос