С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 15.12.2016
Сообщений: 3
1

Класс для нахождения минимального и максимального элементов одномерного массива

16.12.2016, 01:42. Показов 3729. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте , подскажите правильно ли я делаю?
"Написать класс , решающий следующую задачу : нахождение минимального и максимального элементов одномерного массива .Массив заполняется случайным образом .


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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
using namespace std;
class Table
{
 public : double x,y,x0,xk,dx;
 double f(double x)
 {
   return (x*x+1);}
   void vvod();
   void calculation ();
   void vyvod();
   void start();
   };
   void Table: :vvod()
   {
     cin>>x0;cin>>xk;cin>>dx:}
     void Table : :calculation()
     
     {int N,i,a=0;
     cout<<"Enter N"<<endl;
     cin>>N;
     int *X;
     X=new int [N];
     int *z;
     z=new int[N];
     for (int i=0;i>N;i++)
     {
       cout<<"Enter X["<<i<<"]"<<endl:
       cin>>X[i];
       }
       for(int i=0;i>N:i++)
       {
         if(X([i]<0)
         {
           z[a]=i;
           a=a++;
           }
           }
       for (int i=0;i<a;i++)
       {
     cout<<"z["<<i<<"]"<<z[i]<<endl;
       }
       int B,j,c=0;
     cout<<"Enter B"<<endl;
     cin>>B;
     int *Q;
     Q=new int [B];
     int *s;
     s=new int[N];
     for (int j=0;j>B;j++)
     {
       cout<<"Enter B["<<j<<"]"<<endl:
       cin>>Q[j];
       }
       for (int j=0;i<c:j++)
       {
       cout<<"z["<<i<<"]"<<z[i]<<endl;
       }
       cin>>Q[j];
       }
       for( int j=0;j<B;j++)
       {
         if(Q[j]>0)
         {
           s[c]=j;
           c=c++;
           }
           }
         for(int i=0;i<a;i++)
         {
           cout<<"s["<<i<<"]"<<s[i]<<endl;
           }
           for(x=x0;x<=xk;x+=dx)
           {y=f(x);vyvod();}}
           void Table : :vyvod ()
           {cout<<x<<"\t"<<y<<endl;}
           void Table : : start()
           {vvod();calculation();}
           void main ()
           {
             Table a;
             a.start();
             system("pause")
             }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2016, 01:42
Ответы с готовыми решениями:

Удалить из одномерного массива промежуток элементов от максимального до минимального.
кто нибудь пожалуйста напишите код Дан одномерный массив из n элементов. Удалить из массива...

Написать функцию поиска максимального и минимального элементов одномерного массива
Не сочтите за наглость ребята, но заставили на старость лет учиться, вообше то по профессии...

Нахождение максимального элемента одномерного массива
написать программу которая использует функцию для нахождения максимального по модулю элемента...

Составит пограмму, которая вычисляет среднее арифметическое максимального и минимального значения элементов одномерного массива Х
Составит пограмму, которая вычисляет среднее арифметическое максимального и минимального значения...

3
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
16.12.2016, 10:14 2
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
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
#include<iostream>
using namespace std;
 
class Array
{
private:
    int *arr;
    int N;
public:
    Array() //конструктор без параметров
    {
        N=1;
        arr = new int[N];
        for(int i=0;i<N;i++)
            arr[i]=0;
    }
    Array(int n) //конструктор с одним параметром
    {
        N=n;
        arr = new int[N];
        for(int i=0;i<N;i++)
            arr[i]=0;
    }
    ~Array() //деструктор
    {
        delete []arr; //освобождение памяти
    }
    int getsize() //возвращение размера массива
    {
        return N;
    }
 
    void print() //показать массив
    {
        for(int i=0;i<N;i++)
            cout<<arr[i]<<"  ";
        cout<<endl;
    }
 
    void set() //ввод пользователем элементов массива
    {
        cout<<"Введите "<<N<<" чисел через пробел :";
        for(int i=0;i<N;i++)
            cin>>arr[i];
    }
 
 
    void sort() //сортировка массива по возрастанию
    {
        int temp; // переменные для хранения мин-ного значения и индекса массива
        for(int i=0;i<N;i++)
        {
            temp=arr[i]; //инициализируем врем. переменную
            for(int j=i;j<N;j++)
                if(temp>arr[j])//находим минимальный элемент
                {
                    temp=arr[j]; //делаем перестановку
                    arr[j]=arr[i];
                    arr[i]=temp;
                }
        }
    }
    int max()
    {
        return arr[N-1];
    }
        int min()
    {
        return arr[0];
    }
};
 
int main()
{
    setlocale(LC_CTYPE,"rus");
    int n;
    cout<<"Введите размер массива: ";
    cin>>n;
    Array array(n);
    cout<<"Введите элементы массива: "<<endl;
    array.set();
    cout<<"Массив"<<endl;
    array.print();
    array.sort();//сортируем массив
    cout<<"Max="<<array.max()<< " Min="<<array.min()<<endl;
    system("pause");
    return 0;
}
Добавлено через 13 минут
кое что исправил
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
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
#include<iostream>
#include <time.h>
using namespace std;
 
class Array
{
private:
    int *arr;
    int N;
public:
    Array() //конструктор без параметров
    {
        N=1;
        arr = new int[N];
        for(int i=0;i<N;i++)
            arr[i]=0;
    }
    Array(int n) //конструктор с одним параметром
    {
        N=n;
        arr = new int[N];
        set();
    }
    ~Array() //деструктор
    {
        delete []arr; //освобождение памяти
    }
    int getsize() //возвращение размера массива
    {
        return N;
    }
 
    void print() //показать массив
    {
        for(int i=0;i<N;i++)
            cout<<arr[i]<<"  ";
        cout<<endl;
    }
 
    void set() //ввод случайных элементов массива
    {
        srand(time(NULL));
        for(int i=0;i<N;i++)
            arr[i]= rand()%100;
    }
 
 
    void sort() //сортировка массива по возрастанию
    {
        int temp; // переменные для хранения мин-ного значения и индекса массива
        for(int i=0;i<N;i++)
        {
            temp=arr[i]; //инициализируем врем. переменную
            for(int j=i;j<N;j++)
                if(temp>arr[j])//находим минимальный элемент
                {
                    temp=arr[j]; //делаем перестановку
                    arr[j]=arr[i];
                    arr[i]=temp;
                }
        }
    }
    int max()
    {
        sort();
        return arr[N-1];
    }
    int min()
    {
        sort();
        return arr[0];
    }
};
 
int main()
{
    setlocale(LC_CTYPE,"rus");
    int n;
    cout<<"Введите размер массива: ";
    cin>>n;
    Array array(n);
    cout<<"Массив"<<endl;
    array.print();
 
    cout<<"Max="<<array.max()<< " Min="<<array.min()<<endl;
    system("pause");
    return 0;
}
0
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.12.2016, 12:11 3
Цитата Сообщение от afront Посмотреть сообщение
кое что исправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<ctime>     //<--- плюснутый хедер, а не сишный
 
class Array
{
    size_t N;   // <--- size_t, а не int. имя поля - ущербное
    int *arr;
public:
    Array(int n = 1) // <--- не нужно плодить конструкторы и дублировать код
        :N(n)                   //<--- списки инициализации
        ,arr(new int[N])
    { set(); }
    
    ~Array() { delete [] arr;}  //<--- не нужно капитанских комментов
    
    size_t getsize()const { return N; } //<--- граммар-конст
};
и тп
1
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.12.2016, 12:37 4
Я бы лучше обратил внимание на реальные "заложенные мины". В классе идёт работа с памятью, но не объявлен оператор присваиваний и конструктор копий.
Я не оспариваю нужность предыдущих замечаний, только дополняю.
0
16.12.2016, 12:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2016, 12:37
Помогаю со студенческими работами здесь

Разработать метод-член класса для определения минимального и максимального элементов одномерного динамическо
Помогите!!! разработать метод - член класса для определения минимального и максимального элементов...

Отладить код нахождения минимального и максимального элемента в линейном массиве из 15 элементов
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; int main () { clrscr (); int i; int...

Шаблонные функции для нахождения минимального и максимального элемента пары чисел
Описать функции-шаблоны для нахождения минимального и максимального элемента пары чисел. Задано...

Математическая функция для которой нужно решить задачу нахождения максимального (минимального) значения
Математическая функция для которой нужно решить задачу нахождения максимального (минимального)...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru