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

ООП - задачка, понять и суметь. Разбор ошибок - C++

Восстановить пароль Регистрация
 
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
27.09.2013, 00:15     ООП - задачка, понять и суметь. Разбор ошибок #1
Дан массив действительных чисел b1;…;b10 .. Найти сумму элементов расположенных после минимального элемента.Поля и данные - закрытого типа.

в данной проге я пока ищу только минимальный элемент и имею в итоге ошибки, которые не понимаю.
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
#include<stdio.h>
#include<math.h>
#include<iostream>
 
using namespace std;/*ГЅГІГ® îáÿâëåГ*ГЁГҐ ïðîñòðГ*Г*Г±ГІГўГ* èì¸Г* std.*/
 
class massiv
  {  private:float *a; float min;float s;
            int n;
     public:              
           massiv();
           vivod_mas();
           minimym();
           vivod_min();
           
           ~massiv()
             {delete[]a;
              cout<<"     Rabotal destruktor\n";
             }        
   }
/*----------------------------------------------------------------------------*/  
void massiv:: massiv()
  {cout<<"     Vvedite kollichestvo elementov massiva:";
   cin>>n;
   a=new float [n];/* videljaet pamjat' , pokazivaet na to chto massiv dinamicheskij*/
    for(int i=0;i<=n;i++)
       *(a+i)=rand()+1.5;
   cout<<"     Rabotal konstryktor";    
  }
/*----------------------------------------------------------------------------*/  
void massiv:: vivod_mas()
  {cout<<"     Massiv:\n";
   for(int i=0;i<=n;i++)
    cout<<*(a+i);
  }
/*----------------------------------------------------------------------------*/  
 void massiv::minimym()
  {min=10000;s=0;
   for(int i=0;i<=n;i++)
      if (*(a+i)<min) 
        min=*(a+i);
  }
void massiv::vivod_min()  
  {cout<<"     Minimal'nij element massiva="<<min;}
/*----------------------------------------------------------------------------*/   
 
 
int main()
  {massiv x;
   x.vivod_mas;
   x.minimym;
   x.vivod_min;  
   system("pause");
   return 0;
  }
с чем связаны данные ошибки?помогите понять и исправить...

12 ISO C++ forbids declaration of `vivod_mas' with no type
13 ISO C++ forbids declaration of `minimym' with no type
14 ISO C++ forbids declaration of `vivod_min' with no type
14 int massiv::vivod_min()
44 `void massiv::vivod_min()' and `int massiv::vivod_min()' cannot be overloaded
In function `int main()':
50-52 statement cannot resolve address of overloaded function

хочется понять, что я делаю не так..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5352 / 1735 / 320
Регистрация: 10.12.2010
Сообщений: 5,120
Записей в блоге: 3
27.09.2013, 00:30     ООП - задачка, понять и суметь. Разбор ошибок #2
Цитата Сообщение от Маринчик Посмотреть сообщение
ошибки, которые не понимаю
А вы прочитайте. Вам компилятор говорит, что нельзя объявлять перечисленные методы без типа возвращаемого значения.
Плюс, когда вы вызываете методы, вы должны их вызывать как функции (то есть со скобками).
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,720
Записей в блоге: 3
27.09.2013, 00:48     ООП - задачка, понять и суметь. Разбор ошибок #3
Море мелких ошибок.
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
#include<ctime>
//#include<stdio.h>//не надо
#include<math.h>
#include<iostream>
 
using namespace std;/*это обявление пространства имён std.*/
 
class massiv
  {  private:float *a; float min;float s;
            int n;
     public:              
             massiv();
           void vivod_mas();//тип добавтиь
           void minimym();//тип добавтиь
           void vivod_min();//тип добавтиь
           
           ~massiv()
             {
              cout<<"     Rabotal destruktor\n";
              delete[]a;
             }        
   };//точка с запятой
/*----------------------------------------------------------------------------*/  
  massiv:: massiv()//тип убрать
  {
      srand((size_t)time(0));
      cout<<"     Vvedite kollichestvo elementov massiva:";
   cin>>n;
   a=new float [n];/* videljaet pamjat' , pokazivaet na to chto massiv dinamicheskij*/
    for(int i=0;i<n;i++)//<= убрать
       *(a+i)=(float)(rand()%99+1)+(float)1.5;
   cout<<"     Rabotal konstryktor"<<endl;    
  }
/*----------------------------------------------------------------------------*/  
void massiv:: vivod_mas()
  {cout<<"     Massiv:\n";
   for(int i=0;i<n;i++)//<= убрать
    cout<<*(a+i)<<" ";
  }
/*----------------------------------------------------------------------------*/  
 void massiv::minimym()
  {//min=10000;s=0;//убрать
      min=*a;//началомассива
   for(int i=0;i<n;i++)//<= убрать
      if (*(a+i)<min) 
        min=*(a+i);
  }
void massiv::vivod_min()  
  {cout<<"\nMinimal'nij element massiva="<<min<<endl;}
/*----------------------------------------------------------------------------*/   
 
 
int main()
  {massiv x;
   x.vivod_mas();//() добавить
   x.minimym();//() добавить
   x.vivod_min();//() добавить  
   system("pause");
   return 0;
  }
И напишите acsessor или индексатор, а то по указателю к закрытым членам, это нехорошо.
Igor-dis
48 / 6 / 1
Регистрация: 31.01.2013
Сообщений: 35
27.09.2013, 14:32     ООП - задачка, понять и суметь. Разбор ошибок #4
#include <cstdlib>
Yandex
Объявления
27.09.2013, 14:32     ООП - задачка, понять и суметь. Разбор ошибок
Ответ Создать тему
Опции темы

Текущее время: 23:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru