М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Killrog
Killrog
18.04.2022 13:07 •  Информатика

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

👇
Ответ:
Ekaterina8887
Ekaterina8887
18.04.2022

li = []

elements = 1

negative_index = 0

positive_index = 0

print("Введите 0 что бы остановить ввод")

while elements != 0:

   elements = int(input("Введите элементы списка\n"))

   li.append(elements)

li2 = li[:]

li2.sort()

length = li.__len__()

print(li)

for i in range(0, length-1):

   for j in range(length-1, 1, -1):

       if li2[i] * (-1) == li2[j]:

           for k in range(0, length-1):

               if li2[i] == li[k]:

                   negative_index = k

               if li2[j] == li[k]:

                   positive_index = k

if negative_index < positive_index:

   print("Индекс противоположного числа(1) ->", negative_index)

   print("Индекс противоположного числа(2) ->", positive_index)

elif negative_index == positive_index == 0:

   exit(0)

else:

   print("Индекс противоположного числа(1) ->", positive_index)

   print("Индекс противоположного числа(2) ->", negative_index)

P.S

Код не идеальный, но задачу выполняет

4,4(27 оценок)
Открыть все ответы
Ответ:
nikarh
nikarh
18.04.2022
#include <iostream>#include <iomanip>#include <ctime>
using namespace std;
int main(){ setlocale(LC_ALL, "RUSSIAN"); const int N = 10; int arr[N]; int K, L, sum = 0, sumexcl = 0; srand(time(NULL)); for (int i = 0; i < N; i++) { arr[i] = rand() % 10; sum += arr[i]; } cout << "Введите K >> "; cin >> K; cout << "Введите L >> "; cin >> L; for (int i = 0; i < N; i++) { cout << arr[i] << " "; if((i>=K) && (i<=L)) sumexcl += arr[i]; } sum -= sumexcl; cout << "Результат: " << sum << endl; system("pause");}
4,7(71 оценок)
Ответ:
самира223
самира223
18.04.2022
MS DOS QBasic 1.0:

CLS
RANDOMIZE TIMER
INPUT "K = ", K
INPUT "L = ", L
DIM X!(K, L)
FOR i = 1 TO K
    FOR j = 1 TO L
        X(i, j) = RND * 21 - 10
        PRINT USING "###"; X(i, j);
        PRINT ; " ";
    NEXT j
    PRINT
NEXT i
FOR i = 1 TO L * 4 - 1
    PRINT ; "_";
NEXT i
PRINT
FOR N = 1 TO L
    FOR i = 1 TO L - N - 1
        IF X(i, 2) < X(i + 1, 2) THEN
        B = X(i, 2)
        X(i, 2) = X(i + 1, 2)
        X(i + 1, 2) = B
        END IF
    NEXT i
NEXT N

FOR i = 1 TO K
    FOR j = 1 TO L
        PRINT USING "###"; X(i, j);
        PRINT " ";
    NEXT j
    PRINT
NEXT i
END
4,6(87 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ