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

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

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

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

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

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

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». - C++
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис) - C++
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем, корни у которых одни, решил создать эту...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны - C++
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, равных 0; 2) сумму элементов...

Пользовательские функции - C++
Написать функцию, которая удаляет из строки все символы, обозначающие цифры. Заголовок функции: void deleteDigits (char *s); Написать...

Пользовательские функции - C++
Написать функцию, которая удаляет из строки все символы, обозначающие цифры. Заголовок функции: void deleteDigits (char *s); Написать...

Пользовательские функции - C++
Задание: Разработать программу с использованием пользовательской функции. В ходе выполнения программа должна вызывать функцию не менее 3...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mиxaил
533 / 438 / 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 ]
//...
0
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;
0
Mиxaил
533 / 438 / 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;
}
0
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
06.05.2012, 21:53  [ТС] #5
А, блин спс, совсем про свою структуру забыл... А такой вопрос, как сделать, чтобы допустим ширина выводилась по горизонтали, а то у меня получаеться, что высота, что ширина по вертикали?

Добавлено через 4 минуты
Или мне так и оставлять, и принимать за ширину 2 массива идущих подряд, а за высоту 10 элементов массива?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 21:53
Привет! Вот еще темы с ответами:

пользовательские функции - C++
Помогите решить задачи в С++ (я в этом начиющий): 1)Вывести на экран таблицу степеней двойки: 2, где n изменяется от -к до 10. Операцию...

функции пользовательские - C++
Помогите решить задачи в С++ (я в этом начиющий): 1)Вывести на экран таблицу степеней двойки: 2, где n изменяется от -к до 10. Операцию...

Пользовательские Функции - C++
Доброго времени суток, уважаемые форумчане! У меня есть вопрос. Допустим у нас есть функция которая задаёт динамический массив: int...

Пользовательские функции в С - C++
Помогите решить две задачи на С, с помощью пользовательских функций... :( 1. Написать функцию, которая вычисляет значение аb. Числа а...


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

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

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