Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
noobiq
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 21
#1

Поиск минимума в массиве - C++

24.10.2012, 19:32. Просмотров 721. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 19:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск минимума в массиве (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
24.10.2012, 19:41 #2
Вы пытаетесь присвоить интовской переменной значение указателя на ваш класс. Либо складывайте туда значение поля, либо перегружайте сравнение в своём классе.
0
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 19:42 #3
C++
1
min= pu[0];
min - это int
pu[0] - это указатель на экземпляр класса PUPC
0
noobiq
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
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 19:48 #5
Цитата Сообщение от noobiq Посмотреть сообщение
это я понял,но не пойму как реализовать по другому поставленную задачу.
Тогда вопрос по какому свойству Вы ищете минимум?
что-то вроде этого же должно быть
min= pu[0].GetNumber();
0
noobiq
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
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 19:54 #7
ну у Вас в классе PUPC должен же быть метод, возвращающий это значение. Ну или открытое свойство
0
noobiq
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
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 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
noobiq
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
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 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
kertio
26 / 26 / 1
Регистрация: 20.09.2011
Сообщений: 68
24.10.2012, 20:17 #12
Цитата Сообщение от noobiq Посмотреть сообщение
точно так же уже исправил,но все равно та же ошибка.
а Tsena как объявлена?
0
noobiq
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
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
24.10.2012, 20:35 #14
А можно весь код пожалуйста
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 20:35
Привет! Вот еще темы с ответами:

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

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

Поиск минимума методом трихотомии - C++
Здравствуйте! Написал, но почему-то не работает. Подскажите пожалуйста что тут не так? Метод трихотомии - деление на три, аналог метода...

Функции. Поиск минимума и максимума. - C++
Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.10.2012, 20:35
Ответ Создать тему
Опции темы

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