Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
1

Поиск минимума в массиве

24.10.2012, 19:32. Просмотров 901. Ответов 13
Метки нет (Все метки)


Подскажите,как исправить ошибку?
Вот функция main:
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
#include "PUPC.h"
#include "Printer.h"
#include "Monitor.h"
using namespace std;
 
int main()
{
    Printer P1("Sony",2300,"Black & White");
    Printer P2("HP",4900,"Colored");
    Monitor M1("Samsung",5900,21);
    Monitor M2("LG",6400,24);
    PUPC* pu[4];
    int min,i;
    pu[0]=&P1;
    pu[1]=&P2;
    pu[3]=&M1;
    pu[4]=&M2;
    
    for (i=0;i<4;i++)
    {
        pu[i]->Show();
    }
    
    min= pu[0];
    for (i=0;i<4;i++)
    { if ( pu[i]< pu[0]) 
    min= pu[i];
    }
    cout<<"minimalnaya tsena: "<<min<<endl;
    
      
    return 0;
}
не хочет находить минимум,пишет :
main.cpp:24: error: invalid conversion from `PUPC*' to `int'
main.cpp:27: error: invalid conversion from `PUPC*' to `int'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2012, 19:32
Ответы с готовыми решениями:

Поиск второго минимума в массиве
можно ли сие как-нибудь реализовать одним циклом?

Поиск минимума и максимума в двумерном массиве
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int n; cin &gt;&gt;...

Поиск минимума и максимума в динамическом массиве указателей
Вот функции минимума и максимума в шаблоне класса. Проблема в том, что меняется значение 1 элемента...

Поиск минимума
Сидим на паре. Дали модуль - Используя оператор цикла, составить программу, в которой находится...

13
20 / 20 / 16
Регистрация: 22.08.2011
Сообщений: 79
24.10.2012, 19:41 2
Вы пытаетесь присвоить интовской переменной значение указателя на ваш класс. Либо складывайте туда значение поля, либо перегружайте сравнение в своём классе.
0
Don't worry, be happy
16970 / 9851 / 1897
Регистрация: 27.09.2012
Сообщений: 24,427
Записей в блоге: 1
24.10.2012, 19:42 3
C++
1
min= pu[0];
min - это int
pu[0] - это указатель на экземпляр класса PUPC
0
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
24.10.2012, 19:44  [ТС] 4
Цитата Сообщение от ExcellencE Посмотреть сообщение
Либо складывайте туда значение поля
можно про это поподробней?

Добавлено через 52 секунды
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
min= pu[0];
min - это int
pu[0] - это указатель на экземпляр класса PUPC
это я понял,но не пойму как реализовать по другому поставленную задачу.
0
Don't worry, be happy
16970 / 9851 / 1897
Регистрация: 27.09.2012
Сообщений: 24,427
Записей в блоге: 1
24.10.2012, 19:48 5
Цитата Сообщение от noobiq Посмотреть сообщение
это я понял,но не пойму как реализовать по другому поставленную задачу.
Тогда вопрос по какому свойству Вы ищете минимум?
что-то вроде этого же должно быть
min= pu[0].GetNumber();
0
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
24.10.2012, 19:51  [ТС] 6
Цитата Сообщение от Croessmah Посмотреть сообщение
Тогда вопрос по какому свойству Вы ищете минимум?
что-то вроде этого же должно быть
min= pu[0].GetNumber();
ищу минимальную цену(второе)
теперь такое:
main.cpp:24: error: request for member `GetTsena' in `pu[0]', which is of non-class type `PUPC*'
main.cpp:27: error: request for member `GetTsena' in `pu[i]', which is of non-class type `PUPC*'
0
Don't worry, be happy
16970 / 9851 / 1897
Регистрация: 27.09.2012
Сообщений: 24,427
Записей в блоге: 1
24.10.2012, 19:54 7
ну у Вас в классе PUPC должен же быть метод, возвращающий это значение. Ну или открытое свойство
0
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
24.10.2012, 19:57  [ТС] 8
Цитата Сообщение от Croessmah Посмотреть сообщение
ну у Вас в классе PUPC должен же быть метод, возвращающий это значение. Ну или открытое свойство
C++
1
2
3
4
int PUPC::GetTsena()
{
    return Tsena;
}
это,я так понимаю?
0
Don't worry, be happy
16970 / 9851 / 1897
Регистрация: 27.09.2012
Сообщений: 24,427
Записей в блоге: 1
24.10.2012, 20:04 9
ну тогда и сортируйте по цене:
C++
1
2
3
4
5
    min= pu[0].GetTsena();
    for (i=0;i<4;i++)
    { if ( pu[i].GetTsena()< min) 
    min= pu[i].GetTsena();
    }
0
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
24.10.2012, 20:08  [ТС] 10
Цитата Сообщение от Croessmah Посмотреть сообщение
ну тогда и сортируйте по цене:
C++
1
2
3
4
5
    min= pu[0].GetTsena();
    for (i=0;i<4;i++)
    { if ( pu[i].GetTsena()< min) 
    min= pu[i].GetTsena();
    }
точно так же уже исправил,но все равно та же ошибка.
0
Don't worry, be happy
16970 / 9851 / 1897
Регистрация: 27.09.2012
Сообщений: 24,427
Записей в блоге: 1
24.10.2012, 20:17 11
Немного наврал pu[i] это же указатель, значит так:
C++
1
2
3
4
5
    min= pu[0]->GetTsena();
    for (i=0;i<4;i++)
    { if ( pu[i]->GetTsena()< min) 
    min= pu[i]->GetTsena();
    }
0
26 / 26 / 3
Регистрация: 20.09.2011
Сообщений: 68
24.10.2012, 20:17 12
Цитата Сообщение от noobiq Посмотреть сообщение
точно так же уже исправил,но все равно та же ошибка.
а Tsena как объявлена?
0
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
24.10.2012, 20:20  [ТС] 13
Цитата Сообщение от Croessmah Посмотреть сообщение
Немного наврал pu[i] это же указатель, значит так:
C++
1
2
3
4
5
    min= pu[0]->GetTsena();
    for (i=0;i<4;i++)
    { if ( pu[i]->GetTsena()< min) 
    min= pu[i]->GetTsena();
    }
Спасибо,программа запустилась,но почему-то реализовалось не все,буду дальше разбираться.
0
CEO SOVAZ Corp.
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
24.10.2012, 20:35 14
А можно весь код пожалуйста
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2012, 20:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Рекурсия, нахождение минимума в массиве
В общем, в названии темы само задание. int min(int a,int n) { int minim=a; if(minim&gt;a)...

Поиск минимума с рекурсией
Описать функцию min(x) для определения минимального элемента массива X, введя вспомогательную...

Поиск максимума и минимума
Уважаемые форумчане помогите с задачей немогу понять как её зделать. Задание:N точек на площаде...

Функция поиска минимума в двумерном массиве
Сама функция из юнита double minimum(double **arr, int n) { double min = arr; for (int i = 0;...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.