Кто-нибудь сможет сделать? 1 в массиве с = {1, 2, -3, 0, -1, -7, -9, 4, 5, -6, 3, 2, 9, 10, -7, -9, -5} найти количество соседств двух положительных элементов и количество соседств двух отрицательных элементов. (примечание: “соседними” можно считать элементы сi и ci+1, где i = 1, …, 16). 2 отсортировать в матрице столбцы по убыванию значений элементов в первой строке. матрицу задать самостоятельно.

gigi24 gigi24    2   06.06.2019 22:27    4

Ответы
5729 5729  06.07.2020 22:18

# Задача 1

# В массиве С = {1, 2, -3, 0, -1, -7, -9, 4, 5, -6, 3, 2, 9, 10, -7, -9, -5}

# найти количество соседств двух положительных элементов и количество

# двух отрицательных элементов.

c = [1, 2, -3, 0, -1, -7, -9, 4, 5, -6, 3, 2, 9, 10, -7, -9, -5]

count_pos = 0

count_neg = 0

for i, val in enumerate(c):

   if i > 0:

       if c[i - 1] < 0 and val < 0:

           count_neg += 1

       elif c[i - 1] > 0 and val > 0:

           count_pos += 1

print("Количество двух соседних положительных элементов: ", count_pos)

print("Количество двух соседних отрицательных элементов: ", count_neg)

# Задача 2

# Отсортировать в матрице столбцы по убыванию

# значений элементов в первой строке.

# Матрицу задать самостоятельно.

import random

arr = [[random.randint(1, 20) for _i in range(4)] for _j in range(4)] # Матрица 4х4

N = len(arr)

# Печать исходной матрицы

print("\nИсходная матрица:")

for el in arr:

   print(el)

# Сортировка матрицы

for i in range(N - 1):

   for j in range(N - i - 1):

       if arr[0][j] > arr[0][j + 1]:

           for z in range(N):

               arr[z][j], arr[z][j + 1] = arr[z][j + 1], arr[z][j]

print("\nОтсортированная матрица: ")

for el in arr:

   print(el)

# Python 3.7.3

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика