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

Программа с индексами в массиве

16.05.2020, 21:29. Показов 3567. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив/список неповторяющихся чисел(int). Написать программу, возвращающую индексы
двух элементов списка, которые в сумме дают введенное с клавиатуры число.
Получается написать только с 1 числом, а с 2 не выходит(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2020, 21:29
Ответы с готовыми решениями:

В массиве содержатся 10 случайных чисел Выведите на экран все числа с четными индексами и отдельно с нечетными индексами
В массиве содержатся 10 случайных чисел Выведите на экран все числа с четными индексами и отдельно с нечетными индексами.четные индексы...

В двумерном массиве заменить элементы строк с четными индексами элементами строк с нечетными индексами
Дан массив чисел, А (5, 4). Превратить массив , заменив элементы строк с четными индексами элементами строк с нечетными индексами (элементы...

В массиве определить произведение элементов с четными индексами и сумму элементов с нечетными индексами
Создание многомодульных программ ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. -Составить программу,содержащую функции согласно заданного варианта ...

20
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
16.05.2020, 21:43
sarahjan, Выложите Ваш код, что у Вас получается.
0
0 / 0 / 0
Регистрация: 16.05.2020
Сообщений: 4
16.05.2020, 22:58  [ТС]
Python
1
2
3
4
b=int(input())
arr = [m for m in range(10)]
for i in arr:
    print(arr.index(i))
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 16:57
sarahjan, Ваша программа просто выводит все элементы списка. Это не то, что требуется.
Так как задается список не повторяющихся чисел, то индекс любого числа из этого списка уникален.
Нам нужно найти в списке пару чисел удовлетворяющих условию.
Но таких пар может быть несколько. Так как в условии ничего не сказано напишем два варианта кода.
Первый вариант, ищет индексы всех пар чисел удовлетворяющих условию.
Не мудрствуя лукаво используем циклы for.
Python
1
2
3
4
5
6
7
b=int(input())
arr = [m for m in range(10)]
print(arr)
for i in range(len(arr)):
    for j in range(i+1, len(arr)):
        if arr[i]+arr[j] == b:
            print(i, j)
Выводит
Python
1
2
3
4
5
6
7
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0 7
1 6
2 5
3 4
Второй вариант, найти первую попавшуюся пару отвечающую условию.
Python
1
2
3
4
5
6
7
8
9
10
11
12
b=int(input())
arr = [m for m in range(10)]
print(arr)
fl = False
for i in range(len(arr)):
    if fl:
        break
    for j in range(i+1, len(arr)):
        if arr[i]+arr[j] == b:
            print(i, j)
            fl = True
            break
Выводит
Python
1
2
3
7
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0 7
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
17.05.2020, 18:55
Цитата Сообщение от Viktorrus Посмотреть сообщение
Второй вариант, найти первую попавшуюся пару отвечающую условию.
с функцией лучше, без флага и break и ближе к условию ' возвращающую индексы'
Python
1
2
3
4
5
6
7
8
9
10
11
12
def couple(arr):
    for i in range(len(arr)):
        for j in range(i+1, len(arr)):
            if arr[i]+arr[j] == b:
                return i,j
    return 'упс'
 
 
b=int(input())
arr = [m for m in range(10)]
print(arr) 
print(couple(arr))
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 20:12
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
и ближе к условию ' возвращающую индексы'
Если Вы приглядитесь, у меня тоже возвращает индексы. Просто у ТС такой пример, где значения в массиве совпадают с индексами. Что касается функции, да действительно, так мы сразу прерываем оба цикла.
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
17.05.2020, 20:18
Viktorrus, ну если дословно
Функция print() в Python выводит заданные объекты на экран или отправляет их текстовым потоком в файл
Return возвращает значение функции
а по условию
Цитата Сообщение от sarahjan Посмотреть сообщение
Написать программу, возвращающую индексы
то есть это может быть модуль который должен что то вернуть а не выводить на экран.

Не по теме:

я сегодня повредничать решил

1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 20:19
Semen-Semenich, Или Вы возврат на экран не считаете возвратом? Кстати вывод на экран можно заменить выводом в файл. И это будет возврат в файл. Когда же требуется функция возвращающая значение, то так и пишут в условии, "написать функцию".
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
17.05.2020, 20:23
Цитата Сообщение от sarahjan Посмотреть сообщение
Написать программу
функция это не программа?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.05.2020, 20:24
Viktorrus, возврат подразумевает, что данные вернутся туда, откуда произошел вызов. Не с экрана же вызов пришел. Это как бы поток вывода...
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
17.05.2020, 20:32

Не по теме:

третейский судья iSmokeJC, разложил все по полочкам

0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 20:33
Semen-Semenich, Когда Вам кто-то возвращает долг, Вы тоже будете требовать, что бы это было оформлено как функция? Я воспринимаю понятие "возвращать" в более широком смысле, чем Вы.
Здесь возникла ситуация, когда как часто в философских спорах, каждый вкладывает в одно и тоже слово разные понятия, и начинают бесконечный спор, где каждый говорит о своем и договорится не могут, так как спорят о разных понятиях.
Поэтому такие споры бессмысленны, как и наша с Вами дискуссия.
С тем откланиваюсь. Удачи.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.05.2020, 20:33
Semen-Semenich, это ИМХО!
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 20:50
Цитата Сообщение от iSmokeJC Посмотреть сообщение
возврат подразумевает, что данные вернутся туда, откуда произошел вызов.
Не всегда. Функция print() не возвращает результат в точку вызова, а отсылает его на экран или в файл или в поток. Так что Ваш подход к понятию "возврат" в данном случае не оправдан. Но как я уже сказал выше, спорить о понятиях бессмысленно. Спор только тогда результативен, когда спорящие придерживаются одних и тех же определений понятий, которые они используют в споре.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.05.2020, 20:54
Цитата Сообщение от Viktorrus Посмотреть сообщение
Функция print() не возвращает результат в точку вызова, а отсылает его на экран или в файл или в поток
Ну а мы что говорили? print - выводит в поток, return - возвращает в точку вызова...
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.05.2020, 21:04
iSmokeJC, Ладно, убедили. Но я все равно не буду писать функцию, если меня об этом не просят и если не вижу в ней необходимости. Для меня должны писать условия более четко и однозначно, тогда я берусь за их решение. А у Вас свои подходы. У каждого подход индивидуален. Только почему то за эту задачу долго никто не брался (хотя ТС и выложил свой код), пока я не выложил свое решение. Все, я утомился. Пойду поиграю в ВОВ.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.05.2020, 21:08

Не по теме:

Цитата Сообщение от Viktorrus Посмотреть сообщение
Пойду поиграю в ВОВ
От це дило!


0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
18.05.2020, 11:51
ни одного толкового решения, одни "квадраты".

Python
1
2
3
4
5
n = 7
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b = [n-x for x in a]
print(a)
print(b)
PowerShell
1
2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[7, 6, 5, 4, 3, 2, 1, 0, -1, -2]
Добавлено через 1 минуту
Ищем одинаковые числа в массивах и выводим индексы.
решение не более O(n*logn)
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
18.05.2020, 11:58
eaa, Что же Вы так сужаете задачу? Не учли бесконечность. Бесконечность в питоне это число типа float.
Python
1
2
3
4
5
6
7
b=float(input())
arr = [1, 2, float('inf'), float('-inf')]
print(arr)
for i in range(len(arr)):
    for j in range(i+1, len(arr)):
        if arr[i]+arr[j] == b:
            print(i, j)
Пример1
Python
1
2
3
4
inf
[1, 2, inf, -inf]
0 2
1 2
Пример2
Python
1
2
3
4
-inf
[1, 2, inf, -inf]
0 3
1 3
Не доработали.
0
18.05.2020, 12:02

Не по теме:

бесконечность в квадрате решать не мое.
умываю руки))) оставайтесь со своими квадратами)))

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2020, 12:02
Помогаю со студенческими работами здесь

Программа, которая элементы с чётными индексами удваивает, а элементы с нечётными индексами утраивает
Составьте программу, которая заполняет массив a случайными целыми числами в диапазоне от 1 до 10, затем элементы с чётными индексами...

Найти сумму максимального значения элементов с четными индексами и минимального значения элементов с нечетными индексами в одномерном массиве
дан одномерный массив А.найти мах(a2,a4..)+мин(a1,a3) int main() { int y; cin>>N; for(int i=0; i<N; i++) cin>>y; max=y;...

В массиве из 2n чисел найти сумму квадратов элементов с четными индексами и сумму кубов элементов с нечетными индексами
Помогите разобраться с кодом. Алгоритм примерно такой: Сначала нужно ввести рандомно значения в массиве. Четные индексы возводим в...

В массиве из 2n чисел найти сумму квадратов элементов с четными индексами и сумму кубов элементов с нечетными индексами
Задача вот какая: В массиве из 2n чисел найти сумму квадратов элементов с четными индексами и сумму кубов элементов с нечетными индексами. ...

Работа с индексами в Трёхмерном массиве
Доброго времени суток, на курсах задали такое задание: "Создайте программу, которая содержит в себе трехмерный массив. Программа ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Установка 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. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru