@an1mak

Что нужно сделать чтобы, сначала элементы структры проверить по условию и затем закинуть их в один массив?

#include <iostream>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");
    struct str
    {
        char fam[12];
        char im[12];
        char ot[12];
        char country[12];
        char city[12];        
        int ocenka[4];
        double so;
    }mstud[100];
    int nst, i, j;
    cout << "Введите количество абитуриентов поступивших в университет: " << endl;
    cin >> nst;
    for (i = 0; i < nst; i++)
    {
        cout << "Введите фамилию: ";
        cin >> mstud[i].fam;

        cout << "Введите имя: ";
        cin >> mstud[i].im;

        cout << "Введите отчество: ";
        cin >> mstud[i].ot;

        cout << "Введите страну: ";
        cin >> mstud[i].country;

        cout << "Введите город: ";
        cin >> mstud[i].city;        

        cout << "Введите оценки: ";
        mstud[i].so = 0; // Средний балл
        for (j = 0; j < 4; j++)
        {
            cin >> mstud[i].ocenka[j];
            mstud[i].so += mstud[i].ocenka[j] / 4;
        }
        cout << endl;
    }
    char* a = new char[nst];
    int k = 0;   
    char g;
    for (i = 0; i < nst; i++) // Проверка условия и сбор элементов структуры в массив 
    {
        if (strcmp(mstud[i].city,"Минск") == 0  && mstud[i].so >= 4.5)
        {
            a[k] = mstud[i].fam;
            k++;            
        }
    }   
    for (i = 0; i < k; i++) // Алфавитный порядок
    {
        for (j = 0; j < k; j++)
        {
            if (a[i] < a[j])
            {
                g = a[j];
                a[j] = a[i];
                a[i] = g;
            }

        }
    }
    cout << "Колличество абитуриентов из Минска: " << k;
    for (i = 0; i < k; i++)
    {
        cout << a[i];
    }
    return 0;
}

Ошибка выскакивает: "Значение типа char* нельзя присвоить сущности типа char " строка 57
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AkiroToshiro
Я б вам посоветовал переделать структуру, вместо массивов char сделать string. А вместо массива а сделать vector. О ошибка у вас потому что вы хотите присвоить в один чар массив чаров.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы