На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Динамический массив
    Написать функцию для создания динамического массива записей со сведениями о студентах (ФИО, возраст, курс, успеваемость).
    Выполнить задание 6.2.

    Вот 6.2
    ExpandedWrap disabled
      #include <iostream>
      #include <cmath>
       
      using std::cin;
      using std::cout;
      using std::endl;
       
      const int f = 8;
       
      struct lessons {
        int math;
        int physics;
        int programming;
      };
       
      struct student {
        char name[65];
        int age;
        int course;
        int gender;
        lessons a;
      };
       
      student group[f];
       
      int main() {
        setlocale(LC_ALL, "Russian");
        student group[f] = {
          {"Петров Петр Андреевич", 17, 1, 1, {7, 6, 5}},
          {"Иванов Иван Иванович", 17, 1, 1, {3, 3, 6}},
          {"Стрелцов Денис Васильевич", 18, 2, 1, {7, 6, 7}},
          {"Сахарова Елена Яновна", 18, 1, 0, {10, 10, 10}},
          {"Гончар Александра Юрьевна", 19, 3, 0, {7, 2, 5}},
          {"Резцов Илья Александрович", 20, 3, 1, {2, 3, 5}},
          {"Смирнова Инна Андреевна", 20, 4, 0, {9, 7, 5}},
          {"Деренок Владислав Юрьевич", 21, 1, 1, {10, 10, 10}},
        };
        int n;
        cout << "Какой курс проверит на отличников?";
        cin >> n;
        int number = 0;
        for (int i = 0; i < f; i++) {
          if (group[i].course == n && (group[i].a.math > 9 || group[i].a.physics > 9 || group[i].a.programming > 9)) {
            number++;
            cout << "Отличники на курсе: " << group[i].name << endl;
          }
        }
        cout << "Кол-во отличников: " << number;
      }


    С динамическими массивами я не очень дружу(
    Сообщение отредактировано: JoeUser -
      M
      Используем тег [code] для добавления текста программы в пост! Устное предупреждение! Читаем правила!
        DiFex, можно конечно использовать сырые new/delete, строить свои структуры.
        Но лучше всего воспользоваться вектором из стандартной библиотеки.

        Таким образом, вместо твоего:
        ExpandedWrap disabled
          student group[f];

        лучше объявить:
        ExpandedWrap disabled
          std::vector<student> group;

        Ну а дальше, для добавления к вектору записей, используй метод push_back.
        Как работать с векторами из стандартной библиотеки - в сети масса информации, объяснялок и примеров, например 1, 2.
          Цитата DiFex @
          const int f = 8;

          Цитата DiFex @
            lessons a;


          Поубывал бы!!!!
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0210 ]   [ 16 queries used ]   [ Generated: 29.03.24, 02:33 GMT ]