Вопрос задан 22.02.2019 в 09:13. Предмет Информатика. Спрашивает Мурзова Алёна.

ВСЕ БАЛЛЫ ОТДАМ ТОЛЬКО РЕШИТЕ Даны целые числа A1,A2,... An. Оставить ее без изменения, если она

упорядочена по неубыванию или по невозрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырем, сохранив прежним порядок оставленных членов. Программу на языке С !!!
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Токарев Дима.
#include <stdio.h>

int main() 

   int n;
   printf("n = ");
   scanf("%d",&n);
   int a[n];
   int b1=1, b2=1;

    for (int i = 0; i<n; i++) {
    printf("a[%d] = ", i);
    scanf("%d", &a[i]);
  }
   for (int i=0; i<n-1; i++) {
    b1 = b1 && (a[i+1]>a[i]);
      b2 = b2 && (a[i+1]<a[i]);
    }
    if (!(b1 || b2))
     for(int i=3;i<n;i+=4) {
      for(int j=i;j<n-1;j++) a[j]=a[j+1];
      n--; i--;
     }
   for (int i=0; i<n; i++)
    printf ("%3d  ", a[i]);
   printf("\n");        return 0;
}

Пример:
n = 15
a[0] = 12
a[1] = 16
a[2] = 19
a[3] = 20
a[4] = 24
a[5] = 28
a[6] = 31
a[7] = 33
a[8] = 35
a[9] = 40
a[10] = 46
a[11] = 50
a[12] = 55
a[13] = 57
a[14] = 60
12 16 19 20 24 28 31 33 35 40 46 50 55 57 60
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Ниже приведен пример программы на языке C, которая решает данную задачу:

```c #include

int main() { int n; printf("Введите количество элементов в последовательности: "); scanf("%d", &n);

int sequence[n]; printf("Введите элементы последовательности:\n"); for (int i = 0; i < n; i++) { scanf("%d", &sequence[i]); }

int isIncreasing = 1; // флаг, указывающий на упорядоченность по неубыванию int isDecreasing = 1; // флаг, указывающий на упорядоченность по невозрастанию

// Проверяем упорядоченность последовательности for (int i = 1; i < n; i++) { if (sequence[i] < sequence[i - 1]) { isIncreasing = 0; } if (sequence[i] > sequence[i - 1]) { isDecreasing = 0; } }

// Если последовательность упорядочена, выводим ее без изменений if (isIncreasing || isDecreasing) { printf("Последовательность остается без изменений:\n"); for (int i = 0; i < n; i++) { printf("%d ", sequence[i]); } } else { printf("Последовательность после удаления элементов:\n"); for (int i = 0; i < n; i++) { if ((i + 1) % 4 != 0) { printf("%d ", sequence[i]); } } }

return 0; } ```

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

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

0 0

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

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

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