Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2020, 19:29   #1
Дарья0108
 
Регистрация: 07.10.2020
Сообщений: 9
Сообщение С++

помогите переделать программу в программу с динамическом списком


#include <iostream>
using namespace std;

int main()
{
setlocale(0, "ru");
struct Znak
{
string familiya;
string imya;
int zodiak;
int dr[3];
};

int size = 3;
Znak* znaki = new Znak[size];
string textZnaki[12] = { "Козерог", "Водолей", "Рыбы", "Овен", "Телец", "Близнецы", "Рак", "Лев", "Дева", "Весы", "Скорпион", "Стрелец" };

for (int i = 0; i < size; i++) {
Znak znak;
string zodiakText;

cout << "Введите фамилию: ";
cin >> znak.familiya;
cout << "Введите имя: ";
cin >> znak.imya;
cout << "Введите знак зодиака: ";
cin >> zodiakText;
cout << "Введите дату рождения" << endl;
cout << "День: ";
cin >> znak.dr[0];
cout << "Месяц: ";
cin >> znak.dr[1];
cout << "Год: ";
cin >> znak.dr[2];

for (int b = 0; b < 12; b++) {
if (zodiakText == textZnaki[b]) {
znak.zodiak = b;
}
}

znaki[i] = znak;
}

for (int l = 1; l < size; l++) {
for (int j = 0; j < size - l; j++) {
if (znaki[j].zodiak > znaki[j + 1].zodiak) {
Znak a = znaki[j];
znaki[j] = znaki[j + 1];
znaki[j + 1] = a;
}
}
}
cout << "Инфо о людях: " << endl;
for (int k = 0; k < size; k++) {
cout << "Фамилия: " << znaki[k].familiya << endl;
cout << "Имя: " << znaki[k].imya << endl;
cout << "Знак зодиака: " + textZnaki[znaki[k].zodiak] << endl;
cout << "Дата рождения: " << znaki[k].dr[0] << "." << znaki[k].dr[1] << "." << znaki[k].dr[2] << endl;
}

int mesyath;
bool q;

cout << "Введите месяц: ";
cin >> mesyath;
cout << "Люди, с таким же месяцем: \n";

for (int p = 0; p < size; p++) {
if (znaki[p].dr[1] == mesyath) {
cout << znaki[p].familiya << " " << znaki[p].imya << endl;
}
}
}
Дарья0108 вне форума Ответить с цитированием
Старый 21.12.2020, 07:55   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Дарья0108,

Код:
Znak* znaki = new Znak[size];
->
Код:
std::vector<Znak> znaki{size};
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц