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

0 / 0 / 0

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

Сообщений: 28

1

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

06.01.2011, 13:23. Показов 2828. Ответов 4


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

Помогите бедной девушке решить задачку на С++!Сама не справляюсь

Определить максимальный элемент среди положительных нечетных
элементов и минимальный среди положительных четных элементов
целочисленного массива X=(x1,x2,…,xn). Удалить из массива все
совершенные числа, вывести сообщение, сколько элементов было
удалено.

Заранее СПАСИБО!!!



0



39 / 39 / 12

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

Сообщений: 90

06.01.2011, 17:55

2

щас напишу))



1



0 / 0 / 0

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

Сообщений: 28

06.01.2011, 18:04

 [ТС]

3

А ещё сможешь вот такую задачку решить???

Вводится последовательность из N целых чисел. Найти наименьшую по
значению цифру в каждом числе (функцией оформить определение
наименьшей цифры числа).



0



olleg90

39 / 39 / 12

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

Сообщений: 90

06.01.2011, 19:04

4

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата
Сообщение от Викулишна
Посмотреть сообщение

Определить максимальный элемент среди положительных нечетных
элементов и минимальный среди положительных четных элементов
целочисленного массива X=(x1,x2,…,xn). Удалить из массива все
совершенные числа, вывести сообщение, сколько элементов было
удалено.

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
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
#include <iostream>
#include <conio.h>
 
using namespace std;
int sov (int a);
 
void main()
{
setlocale (LC_CTYPE,"rus");
cout<<"введите размерность массива:"<<endl;
int i,n,*a,*b,max,min,q=0,j=0;
cin>>n;
a= new int [n];
cout<<"введите элеиенты массива:"<<endl;
for (i=0;i<n;i=i++)
    cin>>a[i];
max=min=a[0];
for (i=0;i<n;i=i++)
{
    if(a[i]>0)
    {
        if (a[i]%2==0&&a[i]>max)
            max=a[i];
        if (a[i]%2==0&&a[i]<min)
            min=a[i];
    }   
}
cout<<"максимальный элемент среди положительных нечетных элементов:"<<endl<<max<<endl;
cout<<"инимальный среди положительных четных элементов:"<<endl<<min<<endl;
cout<<"исходный массив:"<<endl;
for (i=0;i<n;i=i++)
    cout<<a[i]<<"t";
for (i=0;i<n;i++)
    if(sov(a[i]))
        q++;
b=new int[n-q];
for (i=0;i<n;i=i++)
    if(!sov(a[i]))
    {
    b[j]=a[i];
    j++;
    }
cout<<endl<<"новый массив:"<<endl;
for (i=0;i<n-q;i=i++)   
    cout<<b[i]<<"t";
cout<<endl<<"удалено элементов:"<<endl<<q<<endl;
getch();
}
 
int sov (int a)
{
int n,i,s=0;
n=a-1;
    while (n)
    {
    if(a%n==0)
    s=s+n;
    n--;
    }
    if (s==a)
    return 1;
    return 0;
}

Цитата
Сообщение от Викулишна
Посмотреть сообщение

Вводится последовательность из N целых чисел. Найти наименьшую по
значению цифру в каждом числе (функцией оформить определение
наименьшей цифры числа).

Добавлено через 30 минут

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
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <conio.h>
 
using namespace std;
int mincif (int a);
 
void main()
{
setlocale (LC_CTYPE,"rus");
cout<<"введите размерность массива:"<<endl;
int i,n,*a;
cin>>n;
a= new int [n];
cout<<"введите элеиенты массива:"<<endl;
for (i=0;i<n;i=i++)
    cin>>a[i];
for (i=0;i<n;i=i++)
    cout<<"a["<<i+1<<"]="<<a[i]<<"tмин цифра в этом числеt"<<mincif(a[i])<<endl;
 
 
getch();
}
 
int mincif (int a)
{
int min =a%10,n=0;
while (a)
{
    if (a%10<min)
        min=a%10;
        a=a/10;
}
    return min;
}

Добавлено через 5 минут
еще один вариант решения второй проги)

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
26
27
28
29
30
31
32
#include <iostream>
#include <conio.h>
#include <vector>
 
int f(int x);
 
void main()
{
 setlocale(LC_ALL,"RUS");
 int *x,n,i;
 std::cout<<"Вводите кол-во N целых чисел: "; std::cin>>n;
 x=new int [n];
 std::cout<<"Введите "<<n<<" целых чисел: ";
 for(i=0;i<n;i++) std::cin>>x[i]; std::cout<<"n";
 for(i=0;i<n;i++)
  std::cout<<"В числе №"<<i+1<<" наименьшее число: "<<f(x[i])<<std::endl;
 getch();
}
 
int f(int x)
{
 std::vector<int>ms;
 while(x>0)
 {
 ms.push_back(x%10);
 x/=10;
 }
 int min=ms[0];
 for(int i=0;i<ms.size();i++)
  if(ms[i]<ms[0]) min=ms[i];
 return min;
}



1



0 / 0 / 0

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

Сообщений: 28

06.01.2011, 19:07

 [ТС]

5

Спасибочки Большое!!!Ты меня очень выручил



0



 # Заданный список x 
x = [4, 0, -1, 6, 2, 5, 0, 3, -7, 12]

# Удаляем все нулевые элементы
x = [elem for elem in x if elem != 0]

# Ищем максимальный и минимальный нечетные положительные элементы
max_odd_positive = None
min_odd_positive = None

for elem in x:
if elem > 0 and elem % 2 != 0:
if max_odd_positive is None or elem > max_odd_positive:
max_odd_positive = elem
if min_odd_positive is None or elem < min_odd_positive:
min_odd_positive = elem

# Выводим результаты
if max_odd_positive is not None:
print("Максимальный нечетный положительный элемент:", max_odd_positive)
else:
print("Не найден максимальный нечетный положительный элемент")

if min_odd_positive is not None:
print("Минимальный нечетный положительный элемент:", min_odd_positive)
else:
print("Не найден минимальный нечетный положительный элемент")

Program task1;
const
  n=20;
var
  a:array[1..n] of integer;
  max1,max2,i:integer;
  nc,nk:integer;
 
begin
  nc:=0;
  nk:=0;
 
  for i:= 1 to n do
    begin
      write('Введите ',i,'-й элемент массива: ');
      readln(a[i]);
    end;
 
  for i:= 1 to n do
    if not odd(a[i]) then
      begin
        max1:=a[i]; // первый четный
        inc(nc);
        break;
      end;
 
  for i:= 1 to n do
    if odd(a[i]) then
      begin
        max2:=a[i]; // первый нечетный
        inc(nk);
        break;
      end;
 
  for i:=1 to n do
    begin
      if (a[i] mod 2 = 0) and (a[i]>max1) then
        max1:=a[i];
      if (a[i] mod 2 <> 0) and (a[i]>max2) then
        max2:=a[i];
    end;
  if nc=0 then
    writeln('Нет четных элементов.')
  else
    writeln('Максимальный элемент среди четных элементов массива: ',max1);
  if nk=0 then
    writeln('Нет нечетных элементов.')
  else
  writeln('Максимальный элемент среди нечетных элементов массива: ',max2);
  readln;
end.

Решение на 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 на массивы на пары элементов массива

Поделиться:

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

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

Гость:

const 
  N = 15;
var
  mas:array[1..15] of integer;
  i, max1, max2, min, c, d:integer;
begin
  c:=-1;
  max1:=-maxint;
  min:=maxint;
  max2:=-maxint;
  randomize;
  for i:=1 to N do
    mas[i]:=random(101)-50;
  write(‘Массив: ‘);
  for i:=1 to N do
    write(mas[i], ‘ ‘);
  writeln;
  for i:=1 to N do
  begin
    if (mas[i]>0) AND (mas[i]>max1) then
      max1:=mas[i];
   if (mas[i] mod 2 <> 0) AND (max2

0) AND (min>mas[i]) then
   begin
     d:=i;
     min:=mas[i];
   end;
  end;
  writeln(‘Максимальный положительный элемент: ‘,max1);
  writeln(‘Минимальный нечетный элемент: ‘,min);
  writeln(‘Максимальный нечетный элемент: ‘,max2);
  if c

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