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

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Program cal;
Type
  PList = ^TList;
  TList = record
    family: string[20];
    name: string[20];
    surname: string[20];
    street: string[100];
    block: string[10];
    flat: integer;
    phone: string[50];
    mark: integer;
    next: PList;   
  end;
  streets = record 
    street: string[100]; //название улицы
    count: integer; //число учеников
  end;
  procedure addAb(var head: plist; family:string[20]; name:string[20]; surname:string[20]; street:string[100]; 
    block:string[10]; flat:integer; phone: string[50]);
  // структуры: фамилия, район, адрес, телефон, номер договора
  // дата заключения договора, оплата установки, дата последнего платежа. Поиск - по району.
  var
    cur: plist;
  begin
    new(cur);
    cur^.next := head; // Голова
    cur^.family := family; 
    cur^.name:= name; 
    cur^.surname:=surname;
    cur^.street:=street;
    cur^.block:=block;
    cur^.flat:=flat;
    cur^.phone:=phone;
    cur^.mark:=0;
    head := cur;
  end; // ШАПКА ГОТОВА
Var
  i,j,n, flat, l,k: integer;
  family, name, surname: string[20];
  block: string[10];
  street: string[100];
  phone: string[50];
  head,f,f1: PList; 
  str: array of streets;
begin 
  write('Сколько учеников в списке? ');
  readln(n);
  for i:=1 to n do
    begin
      write('Введите фамилию ученика: ');
      readln(family);
      write('Введите имя ученика: ');
      readln(name);
      write('Введите отчество ученика: ');
      readln(surname);
      write('Введите улицу: ');
      readln(street);
      write('Введите номер дома: ');
      readln(block);
      write('Введите номер квартиры: ');
      readln(flat);
      write('Введите телефон: ');
      readln(phone);
      addAb(head, family, name, surname, street, block, flat, phone);
    end;
  SetLength(str, n);
  f:=head;
  writeln;
  for i:=1 to n do
    begin
      writeln('  ', f^.family, ' ', f^.name, ' ', f^.surname, ', ул. ', f^.street,  ', д. ', f^.block,  ', кв. ', f^.flat,  ', тел. ', f^.phone);
      f:=f^.next;
    end;
   // сставляем список улиц, на которых живёт больше одного студента в массив str
  l:=0; 
  f:=head;  
  for i:=1 to n do begin
    if (f^.mark=0) and (f^.phone<>'') then
    begin
      k := 1;
      f1 := f^.next; 
      for j:=i+1 to n do begin
        if (f1^.mark = 0) and (f1^.phone <> '') and (f^.street = f1^.street) then
        begin
          k:=k+1;
          f1^.mark := 1;
        end;
        f1 := f1^.next;
      end;
      str[l].street := f^.street;
      str[l].count := k;
      l := l+1;
    end;
    f := f^.next;
  end;
  writeln;
  
  k := 0;
  for i:=0 to l-1 do 
  if str[i].count > 1 then begin
    k := 1;
    writeln('На улице ', str[i].street, ' живёт ', str[i].count, ' студентов:');
    f:=head;  
    for j:=1 to n do begin
      if (f^.phone<>'') and (f^.street = str[i].street) then
        writeln(f^.family, ' ', f^.name, ' ', f^.surname, ', ', f^.phone);
      f := f^.next;
    end;
    writeln;
  end;
  
  if k = 0 then writeln('Не найдено учеников, живущих на одинаковой улице с одниковым именем.');
  
end.

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

массивы

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

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

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;

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

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

Все категории

  • Фотография и видеосъемка
  • Знания
  • Другое
  • Гороскопы, магия, гадания
  • Общество и политика
  • Образование
  • Путешествия и туризм
  • Искусство и культура
  • Города и страны
  • Строительство и ремонт
  • Работа и карьера
  • Спорт
  • Стиль и красота
  • Юридическая консультация
  • Компьютеры и интернет
  • Товары и услуги
  • Темы для взрослых
  • Семья и дом
  • Животные и растения
  • Еда и кулинария
  • Здоровье и медицина
  • Авто и мото
  • Бизнес и финансы
  • Философия, непознанное
  • Досуг и развлечения
  • Знакомства, любовь, отношения
  • Наука и техника


9

Помогите пожалуйста С# Напишите программу Найдите наименьший четный элемент массива

1 ответ:



0



0

using System;

using static System.Console;

using System.Linq;

namespace ConsoleApp9

{

   class Program

   {

       static void Main(string[] args)

       {

           Write(«Введите размер массива: «);

           int[] a = new int[int.Parse(ReadLine())];

           WriteLine(«Введите элементы массива: «);

           WriteLine(«наименьший четный элемент: «+

           a.Select(x => x = int.Parse(ReadLine())).Where(x => Math.Abs(x) % 2 == 0).Min().ToString());

           ReadKey();

       }

   }

}

Читайте также

1) Роднина и биология 86 ≥ химия 74

2) Черепанова или (Биология 92 ≥ Химия 83)

3) Математика 74 ≥ 60 или (Информатика 43 ≤ 60)

4) Математика 94 ≥ 60 и информатика 64 ≥ 60

Program Name;
Var a, b, c, pr: integer;
Begin
a:= 3;
b:= 5;
c:= 6;
pr:= a*b*c;
Write( ‘ proizvedenie=’, pr);
End.

R — Red  красный, G — green  зеленый, В — blue   синий,  аддитивная цветовая модель.

Pascal abc……………….

В строке 70 символов
70*8/*=70 байт
Ответ 2

Во второй задаче ответ 3

Понравилась статья? Поделить с друзьями:
  • Как найти кернит eve online
  • Страховой номер зарегистрированного лица должен быть уникальным в пределах документа как исправить
  • Как найти пароль который сохранил в гугле
  • Как найти площадь поверхности тела вращения цилиндр
  • Как найти свой id в контакте приложение