
ВСЕ БАЛЛЫ ОТДАМ ТОЛЬКО РЕШИТЕ Даны целые числа A1,A2,... An. Оставить ее без изменения, если она
упорядочена по неубыванию или по невозрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырем, сохранив прежним порядок оставленных членов. Программу на языке С !!!

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

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



Данная задача предполагает обработку последовательности целых чисел. Если последовательность упорядочена по неубыванию или по невозрастанию, то она остается без изменений. В противном случае, из последовательности удаляются члены, порядковые номера которых кратны четырем, при этом порядок оставленных членов сохраняется.
Ниже приведен пример программы на языке 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; } ```
Программа сначала запрашивает количество элементов в последовательности и считывает их значения. Затем она проверяет, упорядочена ли последовательность по неубыванию или по невозрастанию. Если да, то выводится исходная последовательность без изменений. В противном случае, из последовательности удаляются элементы, порядковые номера которых кратны четырем, и выводится новая последовательность.
Примечание: Данная программа решает задачу, как описано в условии. Однако, если требуется сохранить порядок оставленных членов, то можно использовать другой подход. Вместо удаления элементов из исходной последовательности, можно создать новую последовательность, в которую будут добавляться только нужные элементы.


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