Другие языки программирования и технологии

помогите с с++! уже бесит руки дрожат

код простой но не работает никак. Просто нужно создать массив из структуры капц!!!
struct Square
{

int lenq;

};

int main()
{
Square one;
one.lenq[10];
return 0;
}
#include <iostream>
using namespace std;
struct Rectangle {
public:
Rectangle() : a_(0), b_(0) {}
Rectangle(const double a, const double b) : a_(fabs(a)), b_(fabs(b)) {}
void set_a(const double a) { a_ = fabs(a); }
void set_b(const double b) { b_ = fabs(b); }
double get_a()const { return a_; }
double get_b()const { return b_; }
double area()const { return a_ * b_; }
private:
double a_;
double b_;
};
double set_double(const char* msg) {
cout << msg << ": ";
double value;
cin >> value;
return value;
}
Rectangle input(const size_t n) {
cout << "Input rectangle #" << n << ":\n";
auto a = set_double("a");
auto b = set_double("b");
Rectangle rectangle(a, b);
return rectangle;
}
int main() {
const auto length = 5U;
Rectangle box[length];
for (auto i = 0U; i < length; ++i) box[i] = input(i + 1);
cout.put('\n');
for (const auto& item : box) cout
<< item.get_a()
<< " * "
<< item.get_b()
<< " = "
<< item.area()
<< '\n';
system("pause");
}
ВШ
Владимир Шагвалиев
59 005
Лучший ответ
На так ты ведь не создаешь массив, нужно объявить, например: Square one[20];
При чем неплохо было бы инициализировать поле структуры lenq каким-нибудь значением, прежде чем к нему обращаться
Кожа Асан но мн нужно давать 10 значений элментам массива, исользую цикл
for(int i=0; i<10; i++)
{
cin>>one.lenq[i];
}
И НЕ ПОЛУЧАЕТСЯ
Сложный язык.
Денис Попов
Денис Попов
1 274
Кожа Асан но что за херня с ним происодит, ч так выдает то ,
Чел, какой массив, какие структуры, основы бы подтянуть, ты обьявляешь обьект Square у которого обычное int поле (массивом даже близко не пахнет) и пытаешься работать с int как массивом (индексируешь его), нет слов просто.

Если нужен массив то сначала обьявляешь его в структуре
int *lenq;
потом нужно выделить память
lenq = new int[n];
но массив из структуры делается иначе
Square *arr = new Square[n];
Не помню точно сработает ли с конструктором по умолчанию, но если что обьявишь свой конструктор
Сергей Долбня
Сергей Долбня
1 189
Мрак