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

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

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

Пользовательские шаблоны. - C++

06.05.2012, 18:06. Просмотров 296. Ответов 4
Метки нет (Все метки)

Добрый день! Есть структура Прямоугольник с полями Ширина и Высота. Как в этой структуре, реализовать массив обьектов(это простой массив?) типа Прямоугольник с n-ым количеством элементов? Вот мне представляеться, что массив должен быть размещен по всей площади структуры или как? Если без решения, то хотя бы обьясните как сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 18:06     Пользовательские шаблоны.
Посмотрите здесь:

Пользовательские Функции C++
C++ пользовательские функции
пользовательские функции C++
C++ функции пользовательские
C++ Пользовательские функции
C++ Пользовательские функции
C++ Пользовательские функции в С
C++ Пользовательские функции
Пользовательские битовые флаги C++
C++ Пользовательские функции
Пользовательские функции C++
C++ Пользовательские литералы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.05.2012, 18:54     Пользовательские шаблоны. #2
Такое что-то?
C++
1
2
3
4
5
6
7
8
9
10
11
struct rectangle
{
    double width, height;
};
 
//...
rectangle *arr_rectangle = new rectangle[ 100 ];
//...
for( int index = 0; index < 100; ++index )
    //to do something with arr_rectangle[ index ]
//...
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
06.05.2012, 20:50  [ТС]     Пользовательские шаблоны. #3
Хмм... Похоже, мне ещё потребуется отсортировать этот массив, отдельно по высоте, ширине и по площади прямоугольника, стандартной функцией qsort. В таком виде это возможно будет?

Добавлено через 18 минут
Вообщем попытался сделать, но ругается на 14 строчку и пишет error C2371: arr_rectangle: переопределение; различные базовые типы. Что в этом случае можно сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct rectangle
{    
    double width, height;
};
 
 
void main()
{
    setlocale(0, "Russian");
    int i;
    int *arr_rectangle;
    srand((unsigned)time(NULL));
    rectangle *arr_rectangle = new rectangle[10];
    for (i=0; i<10; i++)
    {
        arr_rectangle[i]=rand()%10+1;
        cout << arr_rectangle[i] << " ";
    }
    cout << endl;
Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.05.2012, 21:25     Пользовательские шаблоны. #4
вот исправленный код, а то там чушь написана была, начиная от попытки переопределить указатель на int
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ctime>
 
const int n = 10;
 
struct rectangle
{    
    double width, height;
}; 
 
int main()
{
    std::srand( std::time( 0 ) );
    rectangle *arr_rectangle = new rectangle[ 10 ];
    for( int index = 0; index < n; index++ )
    {
        arr_rectangle[ index ].height = std::rand() % 10 + 1;
        arr_rectangle[ index ].width = std::rand() % 12 - 3;
        std::cout << arr_rectangle[ index ].height << " " << arr_rectangle[ index ].width << std::endl;
    }
    
    return 0;
}
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
06.05.2012, 21:53  [ТС]     Пользовательские шаблоны. #5
А, блин спс, совсем про свою структуру забыл... А такой вопрос, как сделать, чтобы допустим ширина выводилась по горизонтали, а то у меня получаеться, что высота, что ширина по вертикали?

Добавлено через 4 минуты
Или мне так и оставлять, и принимать за ширину 2 массива идущих подряд, а за высоту 10 элементов массива?
Yandex
Объявления
06.05.2012, 21:53     Пользовательские шаблоны.
Ответ Создать тему
Опции темы

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