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

Ошибка компилятора "In file included from fig11_08.cpp" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread1226962.html
Помогите написать функцию y=x^2+1; 1≤x≤5, ∆x=0,5, с циклом и без массива.
C++ Нужно отредактировать код поиска в некоторых папках. Добавить функцию поиска в архивах Нашёл одну программку, работает отлично, но вот не идёт поиск в таких местах как С:\users или C:\Windows Как это исправить?(желательно напишите код, а то я практически 0 в Си) И ещё желательно сделать чтобы вело поиск в архивах также Visual Studio 2010 Вот код: #include <stdio.h> #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread1226949.html
C++ Наследование: выделение память 2 способами - какая между ними разница
Доброй ночи! Целый год все было нормально, а этой ночью что-то случилось с моей головой. Я в итоге полностью запутался с наследованием Вот такой вот код. Выделяю память 2 способами Какая между ними разница, если все равно доступ только к одному свойству a??? class Parent
C++ Определить номер члена ряда, величина которого меньше 0,6
3 Определить номер члена ряда , величина которого меньше 0,6 S=1+\sum_{n=1}^{\infty}\frac{x^n}{n!}\; ,\; x=0,9
C++ Вычислить сопротивление цепи, состоящей из трех резисторов http://www.cyberforum.ru/cpp-beginners/thread1226941.html
2 Написать функцию , которая вычисляет сопротивление цепи , состоящей из трех резисторов , два из которых соединены параллельно.
C++ Найти три наименьших элемента произвольного одномерного массива 1 Найти 3 наименьших элемента произвольного одномерного массива. подробнее

Показать сообщение отдельно
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
14.07.2014, 08:08     Ошибка компилятора "In file included from fig11_08.cpp"
Цитата Сообщение от Тимур05 Посмотреть сообщение
в файлах кое где остались синтакс ошибки. Это может быть причиной?
Может

Добавлено через 37 минут
Синтаксис поправил, логику не смотрел

Кликните здесь для просмотра всего текста

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
// Рис. 11.6: Array.h 
// Класс массива для хранения целых чисел. 
#ifndef ARRAY_H 
#define ARRAY_H 
 
#include <iostream> 
 
using std::ostream; 
using std::istream; 
 
class Array
{ 
   friend ostream& operator<<( ostream &, const Array & ); 
   friend istream& operator>>( istream &, Array & ); 
   public: 
   Array( int = 10 ); // конструктор по умолчанию 
   Array( const Array & ); // конструктор копии 
   ~Array(); // деструктор 
   int getSize() const; // возвратить размер 
   
   const Array &operator=( const Array & ); // операция присваивания 
   bool operator==( const Array & ) const; // операция равенства 
   
   // операция неравенства; результат противоположен операции == 
   bool operator!=( const Array right ) const 
   { 
     return ! ( *this == right ); // вызывает Array::operator== 
   } // конец функции operator!= 
   
   // индексация для неконстантных объектов возвращает lvalue 
   int &operator[]( int ); 
   
   // индексация для константных объектов возвращает rvalue 
   int operator[]( int ) const; 
   private: 
   int size; // размер массива, заданного указателем 
   int *ptr; // указатель на первый элемент массива 
}; // конец класса Array 
#endif
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
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// Рис 11.7: Array.срр 
// Определения элемент-функций для класса Array 
#include <iostream> 
using std::cerr; 
using std::cout; 
using std::cin; 
using std::endl; 
 
#include <iomanip> 
using std::setw; 
 
#include <cstdlib> // прототип функции exit 
using std::exit; 
 
#include "Array.h" // определение класса Array 
 
// конструктор Array по умолчанию (размер по умолчанию 10) 
Array::Array( int arraySize ) 
{ 
   size = ( arraySize > 0 ? arraySize : 10 ) ; // проверить arraySize 
   ptr = new int[ size ]; // выделить пространство для массива 
   
   for ( int i = 0; i < size; i++ ) 
       ptr[ i ] =0; // установить элемент массива-указателя 
} // конец конструктора Array по умолчанию 
 
// конструктор копии для класса Array; 
// для предотвращения бесконечной рекурсии должен возвращать ссылку 
Array::Array( const Array &arrayToCopy ) 
: size( arrayToCopy.size ) 
{ 
   ptr = new int[ size ] ; // выделить пространство для массива 
   
   for ( int i = 0; i < size; i++ ) 
       ptr[ i ] = arrayToCopy.ptr[ i ]; // копировать в объект 
} // конец конструктора копии Array 
 
// деструктор для класса Array 
Array::~Array() 
{ 
  delete [] ptr; // освободить пространство массива 
} // конец деструктора 
 
// возвратить число элементов Array 
int Array::getSize() const 
{ 
  return size; // число элементов в Array 
} // конец функции getSize 
 
// перегруженная операция присваивания; 
// возвращаемая константа предотвращает: ( al = а2 ) = аЗ 
const Array & Array::operator=( const Array &right ) 
{ 
   if ( &right != this ) // избегать самоприсваивания 
   { 
      // для массивов разного размера освободить исходный массив 
      //в левой части, затем выделить новый массив для левой части 
      if ( size != right.size ) 
      { 
         delete [] ptr; // освободить пространство 
         size = right.size; // переустановить размер этого объекта 
         ptr = new int[ size ]; // создать пространство для копии 
      } // конец внутреннего if 
      
      for ( int i = 0; i < size; i++ ) 
      ptr[ i ] = right.ptr[ i ]; // копировать массив в объект 
   } // конец внешнего if 
   
   return *this; // позволяет писать, например, х = у = z 
} // конец функции operator= 
 
// определить, равны ли два массива, если равны, 
// возвратить true, в противном случае возвратить false 
bool Array::operator==( const Array &right ) const 
{ 
   if ( size != right.size ) 
   return false; // массивы с различным числом элементов 
   
   for ( int i = 0; i < size; i++ ) 
      if ( ptr[ i ] != right.ptr[ i ] ) 
         return false; // содержимое массивов различно 
   
   return true; // массивы равны 
} // конец функции operator= 
 
// перегруженная операция индексации для неконстантных массивов; 
// возврат ссылки создает модифицируемое lvalue 
int &Array::operator[]( int subscript ) 
{ 
   // проверить индекс на выход за пределы массива 
   if ( subscript < 0 || subscript >= size ) 
   { 
      cerr << "\nError: Subscript " << subscript 
      << " out of range" << endl; 
      exit( 1 ); // завершить программу; индекс вне диапазона 
   } // конец if 
   
   return ptr[ subscript ]; // возврат ссылки 
} // конец функции operator[] 
 
// перегруженная операция индексации для константных массивов; 
// возврат константной ссылки создает rvalue 
int Array::operator[]( int subscript ) const 
{ 
   // проверить индекс на выход за пределы массива 
   if ( subscript < 0 || subscript >= size ) 
   { 
      cerr << "\nError: Subscript " << subscript 
      << " out of range" << endl; 
      exit( 1 ); // завершить программу; индекс вне диапазона 
   } // конец if 
   
   return ptr[ subscript ]; // возвращает копию элемента 
} // конец функции operator[] 
 
// перегруженная операция ввода для класса Array; 
// вводит значения для всего массива 
istream &operator>>( istream &input, Array &a ) 
{ 
   for ( int i = 0; i < a.size; i++ ) 
       input >> a.ptr[ i ]; 
   
   return input; // enables cin >> x >> y; 
} // конец функции operator>> 
 
// перегруженная операция вывода для класса Array 
ostream &operator<<( ostream &output, const Array &a ) 
{ 
   int i; 
   
   // вывести закрытый массив, адресуемый указателем 
   for ( i = 0; i < a.size; i++ ) 
   { 
      output << setw( 12 ) << a.ptr[ i ]; 
      
      if ( ( i + 1 ) % 4 == 0 ) // no 4 числа в строке вывода 
         output << endl; 
   } // конец for 
   
   if ( i % 4 != 0 ) // закончить последнюю строку вывода 
      output << endl; 
   
   return output; // позволяет писать cout << x << y; 
} // конец функции operator<<
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
// Рис. 11.8: fig11_08.cpp 
// Тестовая программа для класса Array. 
#include <iostream> 
using std::cout; 
using std::cin; 
using std::endl; 
 
#include "Array.h" 
 
int main() 
{ 
   Array integers1( 7 ); // 7-элементный Array 
   Array integers2; // 10-элементный Array по умолчанию 
   
   // напечатать размер и содержимое integers1 
   cout << "Size of Array integersl is " 
   << integers1.getSize() 
   << "\nArray after initialization:\n" << integers1; 
   
   // напечатать размер и содержимое integers2 
   cout << "\nSize of Array integers2 is " 
   << integers2.getSize() 
   << "\nArray after initialization:\n" << integers2; 
   
   // ввести и напечатать integersl и integers2 
   cout << "\nEnter 17 integers:" << endl; 
   cin >> integers1 >> integers2; 
   
   cout << "\nAfter input, the Arrays contain:\n" 
   << "integers1:\n" << integers1 
   << "integers2:\n" << integers2; 
   
   // применить перегруженную операцию неравенства (!=) 
   cout << "\nEvaluating: integersl != integers2" << endl; 
   
   if ( integers1 != integers2 ) 
      cout << "integersl and integers2 are not equal" << endl; 
   
   // создать массив integers3, используя как инициализатор 
   // integersl; напечатать размер и содержимое 
   Array integers3( integers1 ); // вызывает конструктор копии 
   
   cout << "\nSize of Array integers3 is " 
   << integers3.getSize() 
   << "\nArray after initialization:\n" << integers3; 
   
   // применить перегруженную операцию присваивания (=) 
   cout << "\nAssigning integers2 to integersl:" << endl; 
   integers1 = integers2; // заметьте, что целевой массив меньше 
   
   cout << "integersl:\n" << integers1 
   << "integers2:\n" << integers2; 
   
   // применить перегруженную операцию равенства (==) 
   cout << "\nEvaluating: integers1 == integers2" << endl; 
   
   if ( integers1 == integers2 ) 
      cout << "integersl and integers2 are equal" << endl; 
   
   // применить перегруженную операцию индексации, дающую rvalue 
   cout << "\nintegers1[5] is " << integers1[ 5 ]; 
   
   // применить перегруженную операцию индексации, дающую lvalue 
   cout << "\n\nAssigning 1000 to integers1[5]" << endl; 
   integers1[ 5 ] = 1000; 
   cout << "integersl:\n" << integers1; 
   
   // попытка использования индекса вне диапазона 
   cout << "\nAttempt to assign 1000 to integersl[15]" << endl; 
   integers1[ 15 ] = 1000; // ОШИБКА: выход за диапазон 
   return 0; 
} // конец main
 
Текущее время: 22:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru