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

Третий положительный элемент массива заменить максимальным

24.04.2020, 21:32. Показов 3958. Ответов 20

Студворк — интернет-сервис помощи студентам
Задача: Создать и вывести массив У(8), с элементами уk= ln(k) -3k, где k= 1,2.... Третий положительный элемент заменить максимальным.

Сделал массив, но в нем все значения отрицательные. А нужно "Третий положительный элемент заменить максимальным".
Как правильнее будет сделать задачу?
Python
1
2
3
4
5
6
7
import math
 
k = 0
while k < 8:
  k = k + 1
  y = math.log1p(k) - 3 * k
  print(k,"|",y)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.04.2020, 21:32
Ответы с готовыми решениями:

Третий положительный элемент массива заменить максимальным
Помогите выполнить. Создать и вывести массив y с элементами yi+10(y*17+10), где i номер варианта (17) 17. Третий положительный элемент...

Третий положительный элемент массива заменить максимальным
Помогите выполнить. Создать и вывести массив y с элементами yi+10 где i номер варианта (17) 17. Третий положительный элемент заменить...

Третий положительный элемент заменить максимальным
Может кто-то знает как эту же задачу сделать на VBA?

20
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
24.04.2020, 21:44
ln(k) < 3 * k на [1,8].
На основе выше написанного делаем вывод, что условие не корректное.

Добавлено через 2 минуты
Python
1
math.log1p(k)
это не ln(x), это ln(x + 1).

Добавлено через 1 минуту
тебе надо
Python
1
math.log(k)
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
26.04.2020, 15:52  [ТС]
Fury67, хм, препод говорит ошибка в коде программы. Что-то не понимаю где тут ошибка
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
26.04.2020, 15:54
Формула такая:
Цитата Сообщение от Wento Посмотреть сообщение
уk= ln(k) -3k
Или такая:
у(k)= ln(k) - 3*k

Добавлено через 39 секунд
Давай для начала ты напишешь формулу нормально, чтобы к ней не было никаких вопросов.
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
26.04.2020, 15:57  [ТС]
Fury67, y = math.log(k) - 3 * k, так?

Добавлено через 45 секунд
Что-то не пойму
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
26.04.2020, 16:12
Wento, да, так. Но значения этой функции всегда отрицательные.
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
27.04.2020, 13:41  [ТС]
Fury67, препод сказал сделать програмно, чтобы в случае если такое число было, замена произошло. Только я не понимаю как выбрать именно 3-е положительное число.
Python
1
2
3
4
5
6
7
8
9
10
11
import math
 
k = 0
while k < 8:
  k = k + 1
  y = math.log(k) - 3 * k
  print(k,"|",y)
if y<0:
  print('Положительных чисел нет')
else:
  print('есть') # Замена
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
27.04.2020, 14:01
Лучший ответ Сообщение было отмечено Wento как решение

Решение

Ну на скорую руку как-то так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import math
 
k = 0
flag = 1
third_positive_number = -1
 
while k < 8:
    k = k + 1
    y = math.log(k) - 3 * k
    if y > 0 and flag <= 3:
        if flag == 3:
            third_positive_number = y
            flag += 1
        else:
            flag += 1
    print(k,"|",y)
if third_positive_number == -1:
    print('Положительных чисел нет')
else:
    print(third_positive_number)
Но это выглядит не очень, можно лучше, но лень

Добавлено через 22 секунды
Проверить можешь, например, на такой функции:
Python
1
y = math.log(k) + 3 * k
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
27.04.2020, 14:35  [ТС]
Fury67, Ох... К этому же еще надо блок схему составить
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
27.04.2020, 14:52
Ну а что ее создавать-то, когда есть готовый код?
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
28.04.2020, 17:22  [ТС]
Fury67, с циклами путаюсь
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.04.2020, 17:28
Цитата Сообщение от Wento Посмотреть сообщение
с циклами
Там один цикл
0
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
28.04.2020, 17:53  [ТС]
Fury67, Решил заменить 3-е число максимальным, но почему-то значения съезжают
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
import math
 
k = 0
flag = 1
third_positive_number = -1
 
while k < 8:
    k = k + 1
    y = math.log(k) + 3 * k
    if y > 0 and flag <= 3:
        if flag == 3:
            third_positive_number = y
            flag += 1
        else:
            flag += 1
 
    if y > 0 and flag <= 8:
        if flag == 8:
            max = y 
            flag += 1
        else:
            flag += 1
            
    print(k,"|",y)
print('\n')
if third_positive_number == -1:
    print('Положительных чисел нет')
else:
    print(third_positive_number, '=', max)
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.04.2020, 17:56
Цитата Сообщение от Wento Посмотреть сообщение
Решил заменить 3-е число максимальным
Что?
И так прога делает:
Цитата Сообщение от Wento Посмотреть сообщение
Третий положительный элемент заменить максимальным
0
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
28.04.2020, 18:04  [ТС]
Fury67, похоже я запутался в задании... Прога должна менять на максимальный от 1 до 3? Или 3-й положительный элемент на максимальное(т.е 8-й)
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.04.2020, 18:09
Я тебе сделал так, что прога находит твой третий положительный. А что с ним делать, решай сам.
0
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
28.04.2020, 18:25  [ТС]
Fury67, а, ну значит все правильно понял.
Цитата Сообщение от Wento Посмотреть сообщение
Решил заменить 3-е число максимальным, но почему-то значения съезжают
заменить 3-е положительное 8-м(т.е максимальным)

Добавлено через 5 минут
Только не пойму почему съезжают
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.04.2020, 18:26
Лучший ответ Сообщение было отмечено Wento как решение

Решение

Цитата Сообщение от Wento Посмотреть сообщение
Или 3-й положительный элемент на максимальное
На максимальный вообще. Из всех элементов.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import math
 
k = 0
flag = 1
third_positive_number = -1
y = [] 
while k < 8:
    k = k + 1
    y1 = math.log(k) + 3 * k
    y.append(y1)
    if y1 > 0 and flag <= 3:
        if flag == 3:
            third_positive_number = k
            flag += 1
        else:
            flag += 1
if third_positive_number == -1:
    print(y)
    print('Положительных чисел нет')
else:
    y[third_positive_number - 1] = max(y)
    print(y)
Добавлено через 19 секунд
Ну вот тебе замена третьего положительного на максимальный.
1
6 / 6 / 2
Регистрация: 23.03.2020
Сообщений: 150
28.04.2020, 18:32  [ТС]
Fury67, все, спасибо. Можете объяснить причину почему они съезжали?
Миниатюры
Третий положительный элемент массива заменить максимальным  
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.04.2020, 18:41
Мне лень, честно. Я так и не понял твой кусок кода...
Python
1
2
3
4
5
6
    if y > 0 and flag <= 8:
        if flag == 8:
            max = y 
            flag += 1
        else:
            flag += 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2020, 18:41
Помогаю со студенческими работами здесь

В массиве целых чисел третий положительный элемент заменить максимальным
В массиве целых чисел третьей положительной элемент заменить максимальным. Помогите зарание спасибо!

Третий положительный элемент массива поменять местами с максимальным
Вобще в масивах не робираюсь

Заменить третий положительный элемент массива на максимальный
Здравствуйте подскажите как заменить третий позитивный элемент массива на максимальный #include &lt;vcl.h&gt; #pragma hdrstop ...

Третий положительный элемент массива заменить среднеарифметическим значением
В одномерном массиве, который содержит 12 натуральных чисел третий положительный элемент заменить среднеарифметическим значением...

Третий положительный элемент массива заменить средним арифметическим положительных элементов
Третий положительный элемент заменить среднеарифметическим значением положительных всех элементов . Сумму элементов массива ,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru