Загрузка...

How to fix the error ???

Thread in C/C++ created by robot13673 Mar 18, 2021. 162 views

  1. robot13673
    robot13673 Topic starter Mar 18, 2021 No Hacker 31 Aug 9, 2018
    Code
    int  i = 1, procent;
    string* names = new string;
    float* odds = new float;
    float odd;
    string name;
    do
    {
    cout << "Введите названия ставки ";
    cin >> name;
    cout << endl;
    cout << "Введите коэффициент ";
    cin >> odd;
    cout << endl;
    procent = (1 / odd) * 100;
    int a = 1+ rand() % 100;
    if (procent > a )
    {
    odds[i - 1] = odd;
    names[i - 1] = name;
    i++;
    cout << "Ставка проходит!" << endl;
    }

    Когда условия - истина возникает ошибка памяти, я вообще никак понять не могу. Вроде бы динамический массив правильно сдел.
     
  2. lastnova
    lastnova Mar 18, 2021 15,273 Sep 9, 2019
    я не силен в географии
     
  3. гаечка
    гаечка Mar 18, 2021 27,253 Aug 17, 2019
    ты хоть бы через "КОД" кинул это
     
    1. robot13673 Topic starter
    2. robot13673 Topic starter
  4. z1k
    z1k Mar 18, 2021 death row 1195 Mar 18, 2019
    юзай вектор и все, не будет проблем с памятью
     
    1. robot13673 Topic starter
      z1k, только 3 месяца изучаю С++, ещё его не выучил
  5. lavr1kcorejz
    Динамический массив создаешь неправильно.
    В твоем случае,
    C
    string* names = new string;
    float* odds = new float;
    // Будет идентично этому:
    string *names;
    floast *odds;
    Разница в том, какую память ты использовал.
    Для создания динамического массива используй операторные скобки.
    C
    string *names=new string[ размер массива];
    float *odds=new loat[размер массива];
     
    1. robot13673 Topic starter
Top
Loading...