Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 26

Элементы в новом массиве упорядочены по убыванию или по возрастанию? Если да, то изменить порядок следования элементов

30.11.2022, 03:51. Показов 428. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:
Даны 2 целочисленные последовательности a и b размером n. Записать в новый массив элементы из a, которые отсутствуют в массиве b, создать функцию, которая возвращает 1 если число z есть в новом массиве и 0 если нет. Затем проверить: элементы в новом массиве упорядочены по убыванию или по возрастанию? Если да, то изменить порядок следования элементов на обратный.

Функция check и изменение порядка следования не реализованы/не до конца реализованы.
Желательно использовать как можно меньше функций и методов, не касается пользовательских функций.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
def fill(list, n):  # Заполнение массивов
    i = 0
    while i < n:
        list[i] = int(input())
        i += 1
 
 
def main(list1, list2, list3):  # заполнение массива С 
    i = 0
    flag = True
    length_c = 0
    while i < n:
        j = 0
        while j < n:
            if list1[i] == list2[j]:
                flag = False
            j += 1
        if flag:
            list3 +=[list1[i]]
            length_c += 1
        flag = True
        i += 1
 
 
def find(list, z):  # наличие z в массиве c
    flag = False
    for i in list:
        if z == i:
            flag = True
    if flag:
        print(1)
    else:
        print(0)
 
 
def check(list):  # проверка на массива на убывание/возрастание, если истина - return True 
    flag = False
    for i in range(len(list)-1):
        num1 = list[i]
        num2 = list[i+1]
        if num1 >= num2:
            flag = True
 
 
n = int(input('Количество элементов в массивах: \n'))
z = int(input('Введите число z \n'))
a = [None] * n
b = [None] * n
c = []
 
print('Заполняем массив a')
fill(a, n)
print('Заполняем массив b')
fill(b, n)
 
main(a, b, c)
find(c, z)
# if check(c):
#     изменение порядка следования элементов на обратный т.е. если уб на возр, возр на уб
print(c)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2022, 03:51
Ответы с готовыми решениями:

Если целые числа упорядочены по возрастанию (a<b<c<d) сменить порядок их следования на противоположный
Если целые числа упорядочены по возрастанию (a&lt;b&lt;c&lt;d) сменить порядок их следования на противоположный

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

Если значения переменных упорядочены по возрастанию или убыванию, то удвоить их
Даны три переменные: A,B,С. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение...

5
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
30.11.2022, 13:20
Лучший ответ Сообщение было отмечено Scetowod как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def fill(n):  # Использование зарезервированных слов (таких, как list) для имен переменных - моветон.
    l = [None] * n
    for i in range(n):
        l[i] = int(input())
    return l
 
def main(list1, list2):  # не совсем понятно, зачем это выносить в отдельную функцию, но пусть будет.
    return [x for x in list1 if x not in list2]
 
def find(l, z):  # наличие z в массиве c
    return (0,1)[z in l]
 
def check(l):  # проверка на массива на убывание/возрастание, если истина - return True
                  # в комментарии return есть, а в самой функции нет.
    # Способ №1
    #return l == sorted(l)
    # Способ №2 (если надо без sorted)
    return all([x<=y for x, y in zip(l[:-1], l[1:])]) or all([x>=y for x, y in zip(l[:-1], l[1:])])
 
n = int(input('Количество элементов в массивах: \n'))
z = int(input('Введите число z \n'))
print('Заполняем массив a')
a = fill(n)
print('Заполняем массив b')
b = fill(n)
c = main(a, b)
print(c)
print(find(c, z))
if check(c):
    #c = c.reverse()
    # Или так:
    c = c[::-1]
print(c)
1
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 26
30.11.2022, 13:23  [ТС]
Реверс массива
Python
1
2
3
if check(c):
    c=c[-1::-1]
    print(c)
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
30.11.2022, 13:37
Scetowod, см. у меня 32 строку.
Запись c[-1::-1] эквивалентна моей c[::-1]
0
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 26
30.11.2022, 13:50  [ТС]
Не совсем понимаю работу zip, если делать без него, чем стоит заменит данную функцию?
Про ревёрс да, просто писал одновременно с вами, не видел ответа
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
30.11.2022, 15:00
Scetowod, для примера:
Python
1
2
3
4
5
6
7
8
9
10
11
a = [1, 2, 3]
b = [4, 5, 6, 7]
 
def my_zip(x, y):
    res = []
    for i in range(min(len(x), len(y))):
        res.append((x[i], y[i]))
    return res
 
print(list(zip(a, b)))
print(my_zip(a, b))
Добавлено через 54 минуты
Но в Вашем случае можно и без zip (и даже, наверное, лучше). Надо заменить строку в функции check на
Python
1
return all([l[i]>=l[i + 1] for i in range(len(l) - 1)]) or all([l[i]<=l[i + 1] for i in range(len(l) - 1)])
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2022, 15:00
Помогаю со студенческими работами здесь

Если значения переменных упорядочены по возрастанию или убыванию, то удвоить их
Помогите пожалуйста написать прогу. Даны три переменные вещественного типа: А,В,С. Если их значения упорядочены по возрастанию или...

Изменить порядок следования элементов в массиве
изменить порядок следования элементов в массиве так чтобы сначало располагались все отрицательные элементы за тем положительные а потом...

Если 3 переменные вещественного типа упорядочены по возрастанию или убыванию, то удвоить их
доброй ночи, уважаемые программисты и успевающие в учебе студенты. помогите, пожалуйста, написать программу на C++ (в визуальной вкладке). ...

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

Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или убыванию
Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru