Как найти максимум среди введенных чисел

Запросить 5 чисел в список ,и найти в этом списке мин и макс число с
помощью цикла (запрещено min, max, sorted, sort). Вывести эти
числа

A = []
    max = ''
    min = ''
    a = int(input('Введите целое число...'))
    c = int(input('Введите целое число...'))
    d = int(input('Введите целое число...'))
    e = int(input('Введите целое число...'))
    f = int(input('Введите целое число...'))
    A += a,c,d,e,f
    for i in A:
        if i == max:
            max += i
        else:
            min += i
    
    print(f'Максимальное: {max}' , f'Минимальное: {min}' )

Зашел в тупик. Разъясните где не прав.

Duracell's user avatar

Duracell

1,9913 золотых знака16 серебряных знаков33 бронзовых знака

задан 29 дек 2022 в 17:50

Ihor's user avatar

4

Вам нужно немного подправить свой алгоритм. Примерно как-то так:

A = []
for _ in range(5):
    a = int(input('Введите целое число...'))
    A.append(int(a))

m_max = A[0]
m_min = A[0]
for i in A:
    if m_max < i:
        m_max = i
    if m_min > i:
        m_min = i

print(f'Максимальное: {m_max}' , f'Минимальное: {m_min}' )

ответ дан 29 дек 2022 в 18:23

Andrei's user avatar

AndreiAndrei

2,0501 золотой знак2 серебряных знака11 бронзовых знаков

2

Ваш код по сути правильный, нужно было только сделать 5 правок:

A = []
max_ = float('-inf')                        # здесь
min_ = float('inf')                         # здесь
a = int(input('Введите целое число...'))   
c = int(input('Введите целое число...'))
d = int(input('Введите целое число...'))
e = int(input('Введите целое число...'))
f = int(input('Введите целое число...'))
A += a, c, d, e, f
for i in A:
    if i > max_:
        max_ = i                            # здесь 
    if i < min_:                            # здесь
        min_ = i                            # здесь

print(f'Максимальное: {max_}' , f'Минимальное: {min_}' )

К тому же я изменил ваши имена max и min (которые являются именами стандартных функций) на max_ и min_.


Объяснение:

  1. Чтобы найти самое большое значение, предположим сначала, что оно самое малое:
    переменной max_ присвоим сначала самое малое значение.

  2. Потому что в Питоне не существует самое малое целое число, мы поможем себе самым малым вещественным числом — отрицательной бесконечностью: float('-inf').

  3. Когда встретится число больше текущего наибольшего (if i > max_:), текущее наибольшее заменим ним (max_ = i).

  4. Подобным образом действуем для получения самого малого значения.

ответ дан 29 дек 2022 в 23:43

MarianD's user avatar

MarianDMarianD

14.1k3 золотых знака18 серебряных знаков29 бронзовых знаков

2

У вас в коде существует несколько ошибок:

  1. Вы инициализировали переменные max и min как строки, но вам нужно будет сравнивать числа, поэтому эти переменные должны быть типа int или float.

  2. В цикле for вы пытаетесь сравнивать число i с переменной max, но это не имеет смысла, так как max изначально равно пустой строке. Вместо этого вам нужно сравнивать i с переменной max, которая хранит максимальное значение, которое вы нашли на данный момент.

  3. В цикле for вы пытаетесь добавить число i к переменным max и min, но это неверно, так как вы перезаписываете значения этих переменных. Вместо этого вам нужно сравнивать i с значением max и min и обновлять эти значения, если i больше или меньше соответственно.

Для того, чтобы найти минимальное и максимальное число в списке A, вам нужно изменить код следующим образом:

A = []
max = float('-inf')  # Максимальное значение инициализируем минимальным возможным значением float
min = float('inf')  # Минимальное значение инициализируем максимальным возможным значением float
a = int(input('Введите целое число...'))
c = int(input('Введите целое число...'))
d = int(input('Введите целое число...'))
e = int(input('Введите целое число...'))
f = int(input('Введите целое число...'))
A += a,c,d,e,f

for i in A:
    if i > max:  # Обновляем значение max, если i больше текущего значения max
        max = i
    if i < min:  # Обновляем значение min, если i меньше текущего значения min
        min = i

print(f'Максимальное: {max}' , f'Минимальное: {min}' )

В этом коде мы инициализируем переменные max и min с помощью констант float('-inf') и float('inf') соответстнно

ответ дан 1 янв в 16:46

hedgehogues's user avatar

hedgehogueshedgehogues

9,2518 золотых знаков44 серебряных знака93 бронзовых знака

На занятии происходит знакомство с логическим типом Boolean в Паскале. Рассматривается алгоритм того, как находится минимальное и максимальное число в Паскале

Сайт labs-org.ru предоставляет лабораторные задания по теме для закрепления теоретического материала и получения практических навыков программирования на Паскале. Краткие теоретические сведения позволят получить необходимый для этого минимум знаний. Решенные наглядные примеры и лабораторные задания изложены по мере увеличения их сложности, что позволит с легкостью изучить материал с нуля. Желаем удачи!

Содержание:

  • Логический тип данных Boolean в Паскале
  • Минимальное и максимальное число в Паскале.
    [Название файла: task_bool4.pas]

Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true или false.

Значения логического типа:

TRUE

FALSE

В примере ниже, на экран выводится результат логического выражения:

1
2
3
4
5
6
var 
  A: integer;
begin
  A := 5;
  write(A > 0); {Будет выведено True}
end.

Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean и может также принимать одно из двух значений — true или false.

Посмотрим, как работает та же самая задача с логической переменной:

1
2
3
4
5
6
7
8
var 
  A: integer;
  b: boolean;
begin
  A := 5;
  b:=A > 0; 
  write(b);{Будет выведено True}
end.

Пример: Рассмотрим пример работы с типом boolean в pascal:

1
2
3
4
5
6
var a:boolean;
begin
a:=true;
if a=true then writeln ('истина')
  else writeln('ложь');
end.

Для создания сложных условий используются специальные логические операции: and, or, not и xor.

Задача Boolean 1. Дано целое положительное число. Проверить истинность высказывания: «оно является четным»

[Название файла: task_bool1.pas]

Рассмотрим пример с использованием логической операции XOR:

Пример: Запросить два целых: X, Y. Проверить истинность высказывания: «Только одно из чисел X и Y является нечетным»

1
2
3
4
5
6
7
8
9
10
11
program Boolean;
var
  x,y: integer;
  c :boolean;
 
begin
  write('Введите X, Y: ');
  read(x,y);
  c := (Odd(x)) xor (Odd(y)); 
  writeln('Только одна из переменных X и Y имеет нечетное значение - ', c); 
  end.

Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:

Задача Boolean 2. Даны три целых числа: A, B, C. Проверить истинность высказывания: «B находится между числами A и C».

[Название файла: task_bool2.pas]

Рассмотрим решение более сложной задачи с переменной логического типа:

Пример: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
const a=348;
var
   d_n, s_n, e_n: integer;
   flag:boolean;
begin
flag:=false;
s_n:=a div 100;
d_n:=((a mod 100)div 10);
e_n:=a mod 10;
if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then 
   flag:=true;
writeln(flag);
end.

Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n — это цифра сотого разряда, d_n — цифра десятого разряда, e_n — единицы.

Задача Boolean 3. Дано целое N > 0. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.

[Название файла: task_bool3.pas]

Задача Boolean 4. Дано целое положительное. Проверить истинность высказывания: «Данное число является нечетным трехзначным».

Минимальное и максимальное число в Паскале.

[Название файла: task_bool4.pas]

При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:

  • Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
  • Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
  • Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
  • Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.

Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:

или

max:=integer.MinValue;; // минимальное среди типа Integer
min:=integer.MaxValue;; // максимальное среди типа Integer

PascalABC.NET:

Можно использовать стандартные функции max() и min():

print(max(2,8)); // 8
print(min(2,8)); // 2

Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:

Пример: В компьютер вводятся 10 чисел. Выводить максимальное из введенных чисел.

Показать решение:

Pascal PascalABC.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
var i, chislo, max:integer;
begin
// первое введенное число 
//сразу определяем как максимальное:
readln(max); 
for i:=2 to 10 do
begin
  readln (chislo);
  if chislo > max then 
    max:= chislo
end;
writeln(max)
end.
1
2
3
4
5
6
7
8
9
10
11
12
begin
// первое введенное число 
//сразу определяем как максимальное:
var maximum:=readInteger(); 
for var i:=2 to 10 do
begin
  var chislo:=readInteger();
  // используем стандартную функцию max():
  maximum := max(chislo,maximum); 
end;
writeln(maximum)
end.

Аналогично осуществляется поиск минимального из чисел.

Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:

Задача Max 1. В танцевальном клубе участвуют 10 представительниц женского пола. Определите, может ли самая старшая из них быть матерью самой младшей (в таком случае разница в возрасте может составлять не менее 17 лет).

[Название файла: task_max1.pas]

Задача Max 2. Найти минимальное и максимальное из 10 введенных чисел и вывести сумму их порядковых номеров.

[Название файла: task_max2.pas]

Задача Max 3. Средняя продолжительность жизни лабораторной мыши – 10 лет. Найдите максимальный показатель продолжительности жизни у пяти белых мышей и у пяти мышей-альбиносов. У каких мышей показатель уровня жизни выше?

[Название файла: task_max3.pas]

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

проверь себя

Перейти к содержанию

Найти максимальное число из трех

Просмотров 44.4к. Обновлено 29 октября 2021

Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной. Тогда алгоритм программы сведется к следующему:

  1. Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.
  2. Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.
  3. Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.

Данную задачу можно решить и без использования четвертой переменной, однако программа будет логически сложнее:

  1. Если a больше b, то проверить больше ли a, чем c. Если это так, то максимальное число содержит переменная a. Если a больше b, но при этом меньше c, то максимальным является значение c.
  2. Иначе (когда a меньше b) сравнить значения b и c. Большее из них и есть максимальное.

Пример кода Pascal

максимальное среди трех чисел паскаль


// 1-й способ:

var
a,b,c,max: integer;
begin
readln(a,b,c);
max := a;
if max < b then max := b;
if max < c then max := c;
writeln(max);
end.

// 2-й способ:

var
a,b,c: integer;
begin
readln(a,b,c);
if a > b then
if a > c then writeln(a)
else writeln(c)
else
if b > c then writeln(b)
else writeln(c);
end.

Пример кода Язык Си


// 1-й вариант:

#include

main() {
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
m = a;
if (m < b) m = b;
if (m < c) m = c;
printf("%dn", m);
}

// 2-й вариант:

#include

main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);

if (a > b)
if (a > c) printf("%dn", a);
else printf("%dn", c);
else
if (b > c) printf("%dn", b);
else printf("%dn", c);
}

Пример кода Python

максимальное среди трех чисел Python


# 1-й вариант:

a = int(input())
b = int(input())
c = int(input())

m = a
if m < b:
m = b
if m < c:
m = c

print(m)

# 2-й вариант:

a = int(input())
b = int(input())
c = int(input())

if a > b:
if a > c:
print(a)
else:
print(c)
else:
if b > c:
print(b)
else:
print(c)

Пример кода КуМир

| 1-й вариант:

алг максимум из трех
нач
цел a, b, c, m
ввод a, b, c
m := a
если b > m то m := b все
если c > m то m := c все
вывод m
кон

| 2-й вариант:

алг максимум из трех
нач
цел a, b, c
ввод a, b, c
если a > b то
если a > c то
вывод a
иначе
вывод c
все
иначе
если b > c то
вывод b
иначе
вывод c
все
все
кон

Пример кода Basic-256


# 1-й вариант:

input a
input b
input c
max = a
if max < b then max = b
if max < c then max = c
print max

# 2-й вариант:

input a
input b
input c
if a > b then
if a > c then
print a
else
print c
endif
else
if b > c then
print b
else
print c
endif
endif

gevorg500

0 / 0 / 0

Регистрация: 12.09.2015

Сообщений: 28

1

Определить наибольшее из введенных чисел

15.09.2015, 17:08. Показов 14032. Ответов 15

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Вводятся четыре целых числа : a, b, c и d. Определить наибольшее из введенных чисел.
(у меня что-то не получается(мне нужен самый простой код на c++))

C++
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
#include<iostream>
using namespace std;
int main()
{
    int a, b, c, d, max;
    cin >> a >> b >> c >> d;
    if (max < a)
    {
        max = a;
    }
    if (max < b)
    {
        max = b;
    }
    if (max < c)
    {
       max = c;
    }
    if (max < d)
    {
        max = d;
    }
    cout << "max" << endl;
    return 0;
}



0



940 / 868 / 355

Регистрация: 10.10.2012

Сообщений: 2,706

15.09.2015, 17:19

2

Сначала max присвой одно из значений, а потом уже проверяй.



0



Sergey_03

21 / 9 / 4

Регистрация: 15.12.2014

Сообщений: 643

15.09.2015, 17:35

3

C++
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
#include<iostream>
using namespace std;
int main()
{
    int a, b, c, d, max;
    cin >> a >> b >> c >> d;
    if (a>b&&a>c&&a>d)
    {
        max = a;
    }
    if (b>a&&b>c&&b>d)
    {
        max = b;
    }
    if (c>a&&c>b&&c>d)
    {
       max = c;
    }
    if (d>a&&d>b&&d>c)
    {
        max = d;
    }
    cout << "max" << endl;
    return 0;
}



0



zss

Модератор

Эксперт С++

13101 / 10373 / 6207

Регистрация: 18.12.2011

Сообщений: 27,749

15.09.2015, 17:51

4

C++
1
2
3
max=a>b?a:b;
max=c>max?c:max;
max=d>max?d:max;



0



Narkok

0 / 0 / 0

Регистрация: 21.10.2014

Сообщений: 12

15.09.2015, 17:53

5

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
 
int main()
{
    int a,b,c,d,max;
    std::cin>>a>>b>>c>>d;
    max=a;
    if(b>max)   max=b;
    if(c>max)   max=c;
    if(d>max)   max=d;
    std::cout<<"max:"<<max<<std::endl;
}



0



easybudda

Модератор

Эксперт PythonЭксперт JavaЭксперт CЭксперт С++

11758 / 7258 / 1720

Регистрация: 25.07.2009

Сообщений: 13,272

15.09.2015, 18:10

6

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
 
int main() {
    int a, b, c, d;
    
    std::cin >> a >> b >> c >> d;
    std::cout << std::max(std::max(a, std::max(b, c)), d) << std::endl;
    
    return 0;
}



0



Ferrari F1

805 / 532 / 158

Регистрация: 27.01.2015

Сообщений: 3,017

Записей в блоге: 1

15.09.2015, 18:15

7

gevorg500,

C++
1
2
3
4
5
6
7
8
    int Max(0);
    for (int i(1), input; i < 5;)
    {
        cout << "Введите " << i++ << "-ое число:" << endl;
        cin >> input;
        Max = input > Max ? input : Max;
    }
    cout << Max << endl;



0



Croessmah

Неэпический

17813 / 10585 / 2043

Регистрация: 27.09.2012

Сообщений: 26,625

Записей в блоге: 1

15.09.2015, 19:41

8

C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::cout << *std::max_element( std::istream_iterator< int >( std::cin ) , std::istream_iterator< int >() ) << std::endl ;
}



0



Ferrari F1

805 / 532 / 158

Регистрация: 27.01.2015

Сообщений: 3,017

Записей в блоге: 1

15.09.2015, 21:34

9

Цитата
Сообщение от Croessmah
Посмотреть сообщение

C++
1
2
#include <algorithm>
#include <iterator>

Croessmah, ты читер!



0



Неэпический

17813 / 10585 / 2043

Регистрация: 27.09.2012

Сообщений: 26,625

Записей в блоге: 1

15.09.2015, 21:41

10

Ferrari F1, твой код не учитывает отрицательные числа.
http://rextester.com/EQU97745



0



Ferrari F1

805 / 532 / 158

Регистрация: 27.01.2015

Сообщений: 3,017

Записей в блоге: 1

15.09.2015, 21:44

11

Croessmah, достаточно поменять часть одной строчки

C++
1
int Max(INT_MIN);



0



castaway

15.09.2015, 21:44

Не по теме:

Цитата
Сообщение от Croessmah
Посмотреть сообщение

а твой код вообще не учитывает отрицательные числа.

И всё равно ты читер!



0



Croessmah

15.09.2015, 21:44

Не по теме:

Цитата
Сообщение от castaway
Посмотреть сообщение

И всё равно ты читер!

а ты вапще Xперт :p



0



castaway

15.09.2015, 21:46

Не по теме:

Цитата
Сообщение от Croessmah
Посмотреть сообщение

а ты вапще Xперт

Уделал.. уделал…



0



Croessmah

15.09.2015, 21:47

Не по теме:

Цитата
Сообщение от castaway
Посмотреть сообщение

Уделал.. уделал…

мы ж шуткуем :friends:



0



castaway

15.09.2015, 21:48


    Определить наибольшее из введенных чисел

Не по теме:

Цитата
Сообщение от Croessmah
Посмотреть сообщение

мы ж шуткуем

Конечно.. конечно…



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

15.09.2015, 21:48

16

Python task. Find the maximum number of three

Python

Python задачи

Вводятся три целых числа. Определить какое из них наибольшее.Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной.Разбор задачи на Python

Алгоритм решения задачи

1) Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.

2) Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.

3)Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.

Алгоритм решения задачи Найти максимальное число из трех

Решение задачи с использованием Python

a = int(input(‘Введите число 1 -‘))
b = int(input(‘Введите число 2 -‘))
c = int(input(‘Введите число 3 -‘))

m = a
if m < b:
m = b
if m < c:
m = c

print(m)

Python

Python задачи
Все задачи на python

Репост статьи

13 июля 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

Понравилась статья? Поделить с друзьями:
  • Психастенический тип личности как исправить
  • Как составить картинный план 2 класс
  • Определение как найти координаты вектора
  • Как найти наименьший период функции cos3x
  • Как в инстаграме найти много подписчиков