Предмет: Информатика, автор: max2005303

Дано масив розміру N, всі елементи якого, крім першого, впорядковані
за зростанням. Зробити масив упорядкованим, перемістивши перший
елемент на нову позицію.
(мова С)


yuk1zy: c++ или c# напиши в тг @zzzxkm

Ответы

Автор ответа: IerarhPrelat
1

Вот как это может выглядеть в коде на С:

----------------------------------------------------------------

#include <stdio.h>

#define N 10

int main(void) {

  int array[N] = { 5, 1, 2, 3, 4, 6, 7, 8, 9, 10 };  // исходный массив

  int first_element = array[0];  // запоминаем первый элемент

  // ищем новую позицию для первого элемента

  int new_position = 1;

  while (new_position < N && first_element > array[new_position]) {

      new_position++;

  }

  // сдвигаем элементы массива вправо, чтобы освободить место для первого элемента

  for (int i = new_position; i > 0; i--) {

      array[i] = array[i - 1];

  }

  array[0] = first_element;  // помещаем первый элемент на новую позицию

  // выводим упорядоченный массив

  for (int i = 0; i < N; i++) {

      printf("%d ", array[i]);

  }

  printf("\n");

  return 0;

}

----------------------------------------------------------

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


max2005303: у меня что-то не работает
max2005303: выводит arr A = { 5, 5, 1, 2, 3, 4, 6, 7, 8, 9}
max2005303: точнее
max2005303: arr A = { 5, 5, 1, 2, 3, 4, 7, 8, 9, 10}
max2005303: я значения просто менял в предыдущий раз
IerarhPrelat: У тебя всё импортированно ?
Похожие вопросы
Предмет: Химия, автор: Vareria1206