Как найти наибольший нечетный элемент массива

С++. Задачи с решениями. Одномерные массивы

массивы

к списку всех задач на массивы

к списку всех задач

1. Удалить в массиве все числа, которые повторяются более двух раз.

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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

int main()

{

    int a[100];

    int n=10;

    int i, j, count=0;

    srand(time(NULL));

    for (i = 0; i < n; i++)

    {

        a[i]=rand()%20;

        cout<<setw(4)<<a[i];

    }

    cout<<endl;

    for (i = 0; i < n; i++)

    {

     count=1;

        for (j=i+1; j<n; j++)

        {

            if (a[j] == a[i])

                count++;

        }

        if (count > 2)

        {

         int one=a[i];

         for (j=i; j<n; j++)

         {

         if (a[j]==one)

         {

         // удаляем

         for (int k=j+1; k<n; k++)

         {

         a[k1]=a[k];

         }

         n;

         j;

         }

         }

         i;

        }

    }

    // www.itmathrepetitor.ru

    if (n==0)

        cout<<“empty array”<<endl;

    else

    for (int p = 0; p < n; p++)

    {

        cout<<setw(4)<<a[p];

    }

    cout<<endl;

    getch();

    return 0;

}

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

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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

int main()

{

int* a;

int n;

// ввод n с проверкой

do

{

cout<<“input n: “;

cin>>n;

}

while (n<1);

// выделение памяти

a=new int [n];

// ввод с консоли значений массива

for (int i=0; i<n; i++)

{

cout<<“input a[“<<i<<“]: “;

cin>>a[i];

}

//вывод исходного массива на экран

cout<<“start: “<<endl;

for (int i=0; i<n; i++)

cout<<a[i]<<” “;

cout<<endl;

// поиск наибольшего нечетного

int imax=1;

for (int i=0; i<n; i++)

if (a[i]%2==1)

{

if (imax==1)

imax=i;

else

if (a[imax]<a[i])

imax=i;

}

if (imax==1) // если нечетных нет вообще

cout<<“no odd number”<<endl;

else

{   // вывод на консоль наибольшего нечетного

cout<<“max odd number: “<<a[imax]<<endl;

cout<<“index         : “<<imax<<endl;

if (imax!=n1) // если справа от него есть элементы

for (int i=0; i<3; i++) // сдвиг три раза

{

int t=a[imax+1];

for (int j=imax+1; j<n1; j++) // сдвиг

a[j]=a[j+1];

a[n1]=t;

}

if (imax!=0) // если слева от него есть элементы

{

int t=a[imax1];

for (int j=imax1; j>0; j) // сдвиг

a[j]=a[j1];

a[0]=t;

}

// вывод на консоль результат

cout<<“end: “<<endl;

for (int i=0; i<n; i++)

cout<<a[i]<<” “;

cout<<endl;

}

// удаление памяти

delete [] a;

getch();

return 0;

}

3. Найдите сумму отрицательных элементов массива.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

int sum=0;

for (int i=0; i<n; i++)

{

   if (a[i]<0)

   {

      sum+=a[i];

   }

}

if (!sum)

{

   cout<<“no numbers < 0”;

}

else

{

  cout<<“sum = “<<sum;

}

4. Найдите произведение элементов массива с нечетными номерами.

int p=1;

for (int i=1; i<n; i+=2)

{

   p*=a[i];

}

cout<<“answer: “<<p<<endl;

5. Найдите сумму элементов массива между двумя первыми нулями. Если двух нулей нет в массиве, то выведите ноль.

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

30

31

32

int i1=1, i2=1;

for (int i=0; i<n; i++)

{

  // www.itmathrepetitor.ru

  if (!a[i])

  {  

     if (i1==1)

         i1=i;

     else if (i2==1)

         i2=i;

     else

        break;

  }

}

if (i2==1)

{

   cout<<0;

}

else

{

   if (i1==i21)

     cout<<“no numbers between zeros”;

   else

   {

      int s=0;

      for (int i=i1+1; i<i2; i++)

           s+=a[i];

      cout<<“sum = “<<s;

   }

}

6. Найдите наибольший элемент массива.

int max=0;

for (int i=1; i<n; i++) {   if (a[i]>max)

   max=a[i];

}

cout<<“max: “<<max<<endl;

7. Найдите наименьший четный элемент массива. Если такого нет, то выведите первый элемент.

int imin=1;

for (int i=0; i<n; i++) {  

   if ((!(a[i]%2) && (imin==1 || a[imin]>a[i]))

        imin=i;

}

if (imin==1)

  cout<<a[0];

else

  cout<<a[imin]<<endl;

8. Преобразовать массив так, чтобы сначала шли нулевые элементы, а затем все остальные.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

int i1=0, i2=n1;

while (i1<i2)

{

    // www.itmathrepetitor.ru

    while (i1 < i2 && !a[i1])

         i1++;

    while (i2 > i1 && a[i2])

        i2;

    if (i1 < i2)

    {

        int tmp=a[i1];

        a[i1]=a[i2];

        a[i2]=tmp;

    }

    i1++;

    i2;

}

9. Найдите сумму номеров минимального и максимального элементов.

int imax=0, imin=0;

for (int i=1; i < n; i++) {    

  if (a[i]>a[imax])

         imax=i;

    if (a[i]<a[imin])

         imin=i;

}

cout<<“answer: “<<imin+imax<<endl;

10. Найдите минимальный по модулю элемент массива.

int min=abs(a[0]);

for (int i = 1; i < n; i++) {      

  if (min>abs(a[i]))

         min=a[i];

}

// www.itmathrepetitor.ru

cout<<“abs min: “<<min<<endl;

#include <stdio.h>
 
int main(void)
{   
    int lim, i = 0,  max;
    
    printf("Введите количество элементов в массивеn");
    scanf("%d", &lim);
 
    int mass[lim];
 
    for(i = 0; i < lim; ++i)
    {
        mass[i] = 0;
    }
    i = 0;
 
    printf("Введите элемент массиваn");
 
    while(scanf("%d", &mass[i]) && i < lim-1)
    {
        printf("Введите следующий элемент массива или другую клавишу для окончания вводаn");
        ++i;
    }
    for(i = 0, max = 0; i < lim; ++i)
    {
        if(mass[i] > max && mass[i]%2 != 0)
        {
            max = mass[i];
        }
    }
    if(max == 0)
    {
        printf("В массиве нет нечетных чиселn");
    }
    else if(max != 0)
    {
    printf("Максимальный нечетный элемент массива = %dn", max);
    }
 
return 0;
}

Wizardsolo

Wizardsolo

+35

Решено

1 год назад

Информатика

Студенческий

Дан одномерный массив из 20 целых чисел. Найдите наибольший нечётный элемент массива. Выведите на экран его порядковый номер и значение. Входные данные для элементов массива задайте самостоятельно.

Смотреть ответ

1

Комментарии

Леганда555

тоже на Python?

Ответ

4
(4 оценки)

1

Леганда555
1 год назад

Светило науки – 96 ответов – 0 раз оказано помощи

a = list(map(int, input().split()))

print(‘порядковый номер:’, a.index(min(a)) + 1, ‘nзначение:’, min(a))

(4 оценки)

https://vashotvet.com/task/13489109

Помогите пожалуйста написать программу на питон, которая будет находить в одномерном массиве минимальное чётное число и максимальное нечётное число.
Программа в основном написана, но не получается найти минимальное чётное число.

n=int(input("Введите количество элементов, которые будут в списке:"))
b=[]
for i in range(0,n):
    a=int(input("Элемент:"))
    b.append(a)
c=[]
d=[]
for i in b:
    if(i%2==0):
        c.append(i)
    else:
        d.append(i)
c.sort()
d.sort()
count1=0
count2=0
for k in c:
    count1=count1-1
for j in d:
    count2=count2+1
print("Минимальное четное число:",c[count1+1])
print("Максимальное нечетное число",d[count2-1])

Kromster's user avatar

Kromster

13.5k12 золотых знаков43 серебряных знака72 бронзовых знака

задан 14 мая 2021 в 5:29

Начинающий's user avatar

4

n = int(input("Введите количество элементов, которые будут в списке:"))
b = []
for i in range(n):
    a = int(input("Элемент:"))
    b.append(a)

c = []
d = []
for i in b:
    if i % 2 == 0:
        c.append(i)
    else:
        d.append(i)

c.sort()
d.sort()
print("Минимальное четное число:",c[0])
print("Максимальное нечетное число",d[-1])

ответ дан 14 мая 2021 в 5:42

Danis's user avatar

DanisDanis

19.1k5 золотых знаков20 серебряных знаков55 бронзовых знаков

3

Решение на python задач с номером 25 егэ по информатике на поиск максимального элемента массива

В задачах с номером 25 егэ по информатике на поиск максимального элемента необходимо организовать ввод массива с клавиатуры, найти максимальный элемент массива, удовлетворяющий определенному условию. Разберем пример программы на python, которая ищет максимальный четный и максимальный нечетный элемент массива.
Код на Python для ввода с клавиатуры массива заданного размера. Подробно о работе с массивами в Python
a = []
n=10
for i in range(0, n):
    a.append(int(input()))

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

maxc=a[0]
maxn=a[0]
В цикле for переберём все элементы массива и с помощью оператора условия в python if
сравним каждый нечетный элемент массива с текущим значением максимума, если этот элемент будет больше, то текущему максимуму присвоим значение этого элемента массива. 
Чтобы проверить, является ли переменная четной, в условии нужно использовать выражение
переменная%2==0
Чтобы проверить, является ли переменная нечетной, в условии нужно использовать выражение
переменная%2!=0
Чтобы одновременно выполнялись оба условия, в условии if необходимо использовать логическую операцию and Подробно об условиях If в python
for i in range(0, n):
    if a[i]%2==0 and a[i]>maxc:
       maxc=a[i] 
    if a[i]%2!=0 and a[i]>maxn:
       maxn=a[i]

Полная программа на Python, которая ищет максимальный четный и нечетный элемент массива
a = []
n=10
for i in range(0, n):
    a.append(int(input()))
maxc=a[0]
maxn=a[0]
for i in range(0, n):
    if a[i]%2==0 and a[i]>maxc:
       maxc=a[i] 
    if a[i]%2!=0 and a[i]>maxn:
       maxn=a[i]
print(‘максимальный четный элемент’,maxc)
print(‘максимальный нечетный элемент’,maxn)
Разберем решение на python задачи с номером 25 егэ по информатике на поиск максимального элемента массива.
Дан целочисленный массив из 10 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно Необходимо написать программу, которая позволяет найти и вывести максимальное значение среди двухзначных элементов массива, делящихся на 7. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом кратно 7, то вывести сообщение «Не найдено».

Организуем ввод массива с клавиатуры в python
a = []
n=10
for i in range(0, n):
    a.append(int(input()))
max=1

Введем переменную max в которую будем записывать максимальное значение двузначных элементов массива. присвоим ей в начале программы значение 1. Если элементы удовлетворяющие нужному нам условию не будут найдены, то значение переменной max останется равным 1, это будет говорить о том что элементы не найдены
В цикле for перебираем все элементы массива и ищем максимум среди двузначных чисел 
Двузначные элементы лежат в диапазоне от 10 до 99. Чтобы элемент был двузначным и делился на 7 в операторе условия необходимо, чтобы выполнялось сразу три условия одновременно 
a[i]>9, a[i]<100, a[i]%7==0
Чтобы выполнялись все три условия необходимо в операторе условия If использовать логическую операцию and
for i in range(0, n):
    if a[i]>9 and a[i]<100 and a[i]%7==0:
       max=a[i]

В конце программы  производится проверка найден ли хотя бы один элемент удовлетворяющий условию задачи, если элементы не найдены то выводится сообщение элементы не найдены
if max==1:
    print(‘элементы не найдены’)
else:
    print(‘максимальный элемент ‘, max)

Полная программа на python для поиска максимального двузначного элемента массива кратного 7
a = []
n=10
for i in range(0, n):
    a.append(int(input()))
max=1
for i in range(0, n):
    if a[i]>9 and a[i]<100 and a[i]%7==0 and a[i]>max:
       max=a[i] 
if max==1:
    print(‘элементы не найдены’)
else:
    print(‘максимальный элемент ‘, max)

Перейти к курсу python

Полезно почитать по теме решение на python задач с номером 25 егэ по информатике на тему массивы

Решение задач на python на массивы с накопителем
Решение задач на python на массивы на пары элементов массива

Поделиться:

Комментарии ()

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

Добавить комментарий