Существует множество учебных материалов о структурах и о массивах. В этой статье я пока что расскажу только об одном частном случае объявления нескольких структур с помощью массива. Если у Вас есть уточняющие комментарии буду рад их прочитать.
Введение | |
Создаём структуру | |
Поиск по массиву структур | |
Пример использования |
Наша задача описать положение четырёх точек в пространстве. Если более конкретно -
четырех квадратов на сетке.
У каждого квадрата должна быть координата x и y.
struct Point
{
int x;
int y;
};
Point squares[4]; // четыре элемента типа Point
Создано четыре структуры типа Point каждая из которых находится в массиве squares
Перебрать все координаты можно циклом
for (int i = 0; i < 4; i++)
{
std::cout << squares[i].x << std::endl;
std::cout << squares[i].y << std::endl;
}
Скорее всего Вы получите столбец из восьми нулей или восьми одинаковых мусорных значений.
Заполним массив значениями
for (int i = 0; i < 4; i++)
{
squares[i].x = i;
squares[i].y = i+10;
}
int s = 11; // Хотим проверить есть ли
// среди элементов массива число 11
// и где оно или они, если их несколько.
bool Found = false;
for (int i = 0; i < 4; i++)
{
if (squares[i].x == s) {
std::cout << squares[i].x << " = " << s << " index is " << i << " x" << std::endl;
Found = true;
}
else if (squares[i].y == s) {
std::cout << squares[i].y << " = " << s << " index is " << i << " y" << std::endl;
Found = true;
}
else {
continue;
}
}
if (Found == false) {
std::cout << s << " is not found" << std::endl;
}
Мне массив структур пригодился для тетриса:
Тетрис на C++ и SFML2
Если остались вопросы - смело задавайте их в комментариях либо воспользуйтесь поиском по сайту
Рекомендую наш хостинг beget.ru |
Пишите на info@urn.su если Вы: |
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык. |
2. Хотите разместить на сайте рекламу, подходящуюю по тематике. |
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте |
4. Нашли на сайте ошибку, неточности, баг и т.д. ... ....... |
5. Статьи можно расшарить в соцсетях, нажав на иконку сети:
|