C/C++

Код программы на С++)

Определить структурный тип, описывающий гостиничный
номер (название гостиницы, номер, комфортность (люкс, полулюкс стандарт,
эконом), количество человек, стоимость). Заполнить структурный массив 10-
ю записями. Переписать из исходного массива в другой массив, информацию
только о тех гостиничных номерах, в название гостиницы которых есть по 2
буквы «а». Затем новый массив отсортировать по названию гостиницы по
алфавиту.
А зачем вы скинули сюда свою домашку по информатике?
Стас Дёмин
Стас Дёмин
4 615
Лучший ответ
Ирек Габдулхаков чтобы ты спросил
 #include  
using namespace std;

enum comfort { luxe, standard, economy };

struct Hotel
{
string name;
int number;
comfort com;
int peCount;
int cost;
};

Hotel Random(Hotel arr)
{
for (int i = 0; i < rand() % 20 + 10; i++)
{
arr.name.push_back(rand() % 26 + 'a');
}
arr.number = rand();
switch (rand() % 3)
{
case 0:
arr.com = luxe;
break;
case 1:
arr.com = standard;
break;
case 2:
arr.com = economy;
break;
}
arr.peCount = rand() % 500;
arr.cost = rand() % 30000;
return arr;
}

int counterArr(Hotel arr)
{
int count = 0;
for (int i = 0; i < arr.name.length(); i++)
{
if (arr.name[i] == 'a')
{
++count;
}
}
return count;
}

int main()
{
srand(time(NULL));
Hotel arr[10];
for (int i = 0; i < 10; i++)
{
arr[i] = Random(arr[i]);
}
int countArr = 0;
for (int i = 0; i < 10; i++)
{
if (counterArr(arr[i]) >= 2)
{
++countArr;
}
}

Hotel* newArr = new Hotel[countArr + 1];
for (int i = 0, secArr = 0; i < 10; i++)
{
if (counterArr(arr[i]) >= 2)
{
newArr[secArr] = arr[i];
secArr++;
}
}

for (int i = 0; i < countArr; i++)
{
Hotel swap = newArr[i];
for (int j = i + 1; j < countArr; i++)
{
for (int q = 0; q < newArr[i].name.length() && q < newArr[j].name.length(); q++)
{
if (swap.name[q] < newArr[j].name[q])
{
swap = newArr[j];
break;
}
else
{
if (swap.name[q] != newArr[j].name[q])
{
break;
}
}
}
if (swap.name != newArr[i].name)
{
newArr[j] = newArr[i];
newArr[i] = swap;
}
}
}

for (int i = 0; i < 10; i++)
{
cout
K1
Karen 1992
458